有没有办法在服务器端(PHP或MySQL)解析出HTML注释
我们需要一种在向用户而不是向开发人员显示时删除HTML注释的方法。 我想知道最好的方法是什么 试试看:有没有办法在服务器端(PHP或MySQL)解析出HTML注释,html,parsing,comments,server-side,Html,Parsing,Comments,Server Side,我们需要一种在向用户而不是向开发人员显示时删除HTML注释的方法。 我想知道最好的方法是什么 试试看: $html = eregi_replace("<!--[^>]*-->", "", $html); $html=eregi_replace(“,”,$html); 或使用preg_替换,如下所述: $html = preg_replace("/<!--(.|\s)*?-->/", "", $html); $html=preg\u replace(“//”,“
$html = eregi_replace("<!--[^>]*-->", "", $html);
$html=eregi_replace(“,”,$html);
或使用preg_替换,如下所述:
$html = preg_replace("/<!--(.|\s)*?-->/", "", $html);
$html=preg\u replace(“//”,“,$html);
是的,无论哪种方式,嵌入字符串中的注释分隔符都会导致问题。最好使用类似解析器的方法,遍历DOM树并删除所有注释节点。或者您自己构建一个解析器。您是从自己的PHP页面中删除注释,还是从其他人的字符串标记中删除注释 对于后者,如Gumbo所建议的,使用HTML解析器。不要使用正则表达式来解析HTML,因为它不能。(我需要为那个句子绑定一个热键。SO上的每三个问题都试图用正则表达式解析HTML。这不是一个好主意。) 如果您指的是前者,只需使用PHP注释而不是HTML注释,就不必进行任何后期处理:
<?php /* blah */ ?>
关于
ereg是不推荐的PHP正则表达式功能,将在PHP6中删除。使用preg_替换,无论如何速度更快。