Я получаю содержимое страницы в переменной $ content
Мне нужно отделить комментарии HTML от $ content, используя регулярное выражение. Я пробовал следующий код, он работает неправильно
$content = preg_replace('/<!--(.|\)*?-->/', '', $content);
похоже, что вам что-то не хватает.
$content = preg_replace( '/<!--(.|\s)*?-->/' , '' , $content );
Вы можете протестировать его здесь http://www.phpliveregex.com/p/1LX
Ваша косая черта ускользает от вашего )
… Я не уверен, что вы думаете (.|\)
; Почему бы просто не использовать .*?
и полностью удалить группу захвата?
Кроме того, вы хотите установить модификатор s
.
соответствуют новым строкам.
$content = preg_replace('/<!--.*?-->/s', '', $content);
http://php.net/manual/en/reference.pcre.pattern.modifiers.php
http://www.regular-expressions.info/
Использовать это:
вам нужно бежать !
потому что это часть reg exp, а также нужно включить новый модификатор строк s
, это, если комментарий не является одной строкой. И ленивый флаг U
должен соответствовать как можно меньше, это, когда вы получили несколько комментариев.
$content = preg_replace('/<\!--.*-->/Us', '', $content);