Форум: "Прочее";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
ВнизРегулярный выражения и php Найти похожие ветки
← →
Nous Mellon_ (2007-04-03 14:05) [0]Здравствуйте, друзья. Озабочен такими нубскими вопросами по php:
В своем скрипте паршу некоторый html файл. К примеру, в нем есть два блока с html комментариями "<!--zzz-->" и "<!--ppp-->". Между этими блоками много разного hmtl кода. Как мне построить паттерн для preg_replace чтобы он вырезал весь этот блок от начала до конца вместе с содержимым? При условии, что код страницы в строке. т.е. Там должно получится что-то вроде
$text = preg_replace($pattern, "", $text); Вот с формированием этого $pattern и вся засада, я не силен в регулярах, поэтому измучился уже весь...
Надеюсь на вашу помощь
← →
xayam © (2007-04-03 14:14) [1]Для RegExpr примерно так будет
<!--zzz-->(.*?)<!--ppp-->
"." - это любой символ
"*" - это значит любое количество раз и ни разу в том числе
"?" - это включает не жадный режим
Как на Php эти символы обозначаются незнаю
← →
umbra © (2007-04-03 14:27) [2]про php не знаю, но в перле паттерн выглядел бы как
^<!--zzz-->(.*\n)*<!--ppp-->$
\n - символ конца строки
← →
McSimm_ (2007-04-03 14:30) [3]$text = preg_replace("/<!--zzz-->(.*?)<!--ppp-->/s", "", $text);
модификатор s необходим, чтобы переводы строк захватывались точкой
← →
McSimm_ (2007-04-03 14:33) [4]
> umbra © (03.04.07 14:27) [2]
^ и $ зачем ?
← →
umbra © (2007-04-03 14:35) [5]да пожалуй, что лишние. :)
← →
Nous Mellon_ (2007-04-03 14:36) [6]Спасибо огромное всем, друзья, и особенно Максиму, код которого сработал на 100%. Спасибо
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c