Altex
Новичок
Помогите составить регулярное выражение?
Здравствуйте, помогите, пожалуйста, с регекспом. Есть HTML таблица. В некоторых ячейках этой даблицы есть определённое сочетание символов (в примере выше - !!!). Нужно с помощью регов выделить массив со строками HTML талблицы (<tr>.....</tr>), в которых есть эта ячейка.
Попробывал решить задачу как указано выше - "~<tr>(.*!!!.*)</tr>~isU" . Но эта запись захватывает ненужные строки HTML талблицы.
В примере получается
а нужно чтобы получилось
Спасибо.
PHP:
<?php
$text =<<<HTMLTEXT
<table>
<tr>
<td>!!!</td><td>111</td><td>222</td><td>333</td>
<td>444</td><td>555</td><td>7</td><td>88</td>
</tr>
<tr>
<td>aaa</td><td>bbb</td><td>ccc</td><td>ddd</td>
<td>eee</td><td>fff</td><td>ggg</td><td>ss</td>
</tr>
<tr>
<td>123</td><td>321</td><td>!!!</td><td>123</td>
<td>123</td><td>123</td><td>123</td><td>123</td>
</tr>
<tr>
<td>hdfg</td><td>hdfgh</td><td>dfghd</td><td>!!!</td>
<td>dfgh</td><td>dfghdf</td><td>dfgh</td><td>dfghdh</td>
</tr>
</table>
HTMLTEXT;
$REG = "~<tr>(.*!!!.*)</tr>~isU";
preg_match_all($REG,$text,$m);
echo "<pre>";
print_r($m);
?>
Попробывал решить задачу как указано выше - "~<tr>(.*!!!.*)</tr>~isU" . Но эта запись захватывает ненужные строки HTML талблицы.
В примере получается
Код:
[1] => Array
(
[0] =>
<td>!!!</td><td>111</td><td>222</td><td>333</td>
<td>444</td><td>555</td><td>7</td><td>88</td>
[1] =>
--------- вот эта часть лишняя -------
<td>aaa</td><td>bbb</td><td>ccc</td><td>ddd</td>
<td>eee</td><td>fff</td><td>ggg</td><td>ss</td>
</tr>
<tr>
--------- /вот эта часть лишняя -------
<td>123</td><td>321</td><td>!!!</td><td>123</td>
<td>123</td><td>123</td><td>123</td><td>123</td>
[2] =>
<td>hdfg</td><td>hdfgh</td><td>dfghd</td><td>!!!</td>
<td>dfgh</td><td>dfghdf</td><td>dfgh</td><td>dfghdh</td>
)
Код:
[1] => Array
(
[0] =>
<td>!!!</td><td>111</td><td>222</td><td>333</td>
<td>444</td><td>555</td><td>7</td><td>88</td>
[1] =>
<td>123</td><td>321</td><td>!!!</td><td>123</td>
<td>123</td><td>123</td><td>123</td><td>123</td>
[2] =>
<td>hdfg</td><td>hdfgh</td><td>dfghd</td><td>!!!</td>
<td>dfgh</td><td>dfghdf</td><td>dfgh</td><td>dfghdh</td>
)
