Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
2-1176368485
-=MaxDelphi=-
2007-04-12 13:01
2007.04.29
Вопрос по TSynEdit


1-1173168479
Helen
2007-03-06 11:07
2007.04.29
Поиск файла на ftp сервере


2-1175962435
Simba
2007-04-07 20:13
2007.04.29
Com-порт и графики


15-1175259825
Jeer
2007-03-30 17:03
2007.04.29
Занятно


15-1175417739
Calibr
2007-04-01 12:55
2007.04.29
Perl с HTML




   Наверх