|
|
|
| Задача следующая. Есть переменная, в нее записанно содержимое html страницы. В этой странице присутствуют коментарии: <!-- START --> и <!-- END -->. так вот надо оставить только то что находиться внутри этих коментариев. все остальное удалить. Как составить такое регулярное выражение? | |
|
|
|
|
|
|
|
для: localGhost
(03.08.2005 в 07:31)
| | функцией preg_match_all можно...
почитай о ней в онлайн справочнике функций PHP | |
|
|
|
|
|
|
|
для: localGhost
(03.08.2005 в 07:31)
| | Можно воспользоваться следующим скриптом
<?php
$text = "Задача следующая. Есть переменная, в нее записанно содержимое html страницы.
В этой странице присутствуют коментарии: <!-- START --> и <!-- END -->. так вот
надо оставить только то что находиться внутри этих коментариев. все остальное удалить.
<!-- START -->Как составить такое регулярное выражение<!-- END -->?";
// Так как в тексте может быть очень много разнообразных тэгов
// заменяем <!-- START --> и <!-- END --> на что-нибудь уникальное,
// например, |.
$text = str_replace("<!-- START -->","|",$text);
$text = str_replace("<!-- END -->","|",$text);
// Само регулярное выражение
$pattern = "#\|([^\|]+)\|#iU";
preg_match_all($pattern,$text,$out,PREG_PATTERN_ORDER);
echo "<pre>";
print_r($out[1]);
echo "</pre>";
?>
|
Вообще тэги достаточно паршивые - выцепить их при помощи регулярных выражений можно только если между ними никаких тэгов нет, иначе приходится прибегать к скрипту, приведённому выше. | |
|
|
|