Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Регулярный выражения и 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
2-1175955394
=Guest=
2007-04-07 18:16
2007.04.29
Количество файлов в папке


8-1155833080
brother
2006-08-17 20:44
2007.04.29
работа с флэш


15-1175709413
Pazitron_Brain
2007-04-04 21:56
2007.04.29
Подскажите книгу


2-1176037710
pound
2007-04-08 17:08
2007.04.29
В редакторе TValueListEditor в событии OnValidate проверяю


2-1176440360
allucard
2007-04-13 08:59
2007.04.29
Как создать папку?