Главная страница
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.48 MB
Время: 0.056 c
15-1175795915
vasIZmax
2007-04-05 21:58
2007.04.29
Диспечер устройств


15-1175434312
Cyrax
2007-04-01 17:31
2007.04.29
Photoshop: несколько надписей на одном текстовом слое...


15-1175670730
Knight
2007-04-04 11:12
2007.04.29
У кого работает mail.ru через прокси?


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


2-1176375144
dracula
2007-04-12 14:52
2007.04.29
Как правильно синхронизировать thread?