我将页面内容放入变量$content
我需要使用正则表达式从 $content 中去除 HTML 注释。我尝试了以下代码,它无法正常工作
$content = preg_replace('/<!--(.|\)*?-->/', '', $content);
我将页面内容放入变量$content
我需要使用正则表达式从 $content 中去除 HTML 注释。我尝试了以下代码,它无法正常工作
$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);