Использование регулярного выражения удаляет HTML-комментарии из содержимого

Я получаю содержимое страницы в переменной $ 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);