首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在服务器端解析出超文本标记语言注释(PHP或MySQL)?

问有没有办法在服务器端解析出超文本标记语言注释(PHP或MySQL)?
EN

Stack Overflow用户
提问于 2009-09-30 08:58:27
回答 3查看 1.1K关注 0票数 1

我们需要一种方法来删除HTML注释时,显示给用户,但不是给开发人员。我想知道做这件事最好的方法是什么。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-30 17:54:42

您是否正在从自己的PHP页面中删除注释,或者从字符串中的其他人的标记中删除注释?

对于后者,请按照Gumbo的建议使用HTML解析器。不要使用正则表达式来解析HTML,因为它不能。(我需要为这句话绑定一个热键。每三个关于SO的问题就是尝试用正则表达式解析HTML。这不是一个好主意。)

如果你指的是前者,只要使用PHP注释而不是HTML注释,你就不需要做任何后处理了:

代码语言:javascript
复制
<?php /* blah */ ?>
票数 1
EN

Stack Overflow用户

发布于 2009-09-30 09:05:03

尝试:

代码语言:javascript
复制
$html = eregi_replace("<!--[^>]*-->", "", $html);

或者使用preg_replace,如下所述:

代码语言:javascript
复制
$html = preg_replace("/<!--(.|\s)*?-->/", "", $html);

而且,是的,无论哪种方式,嵌入在字符串中的注释分隔符都会导致问题。

票数 1
EN

Stack Overflow用户

发布于 2009-09-30 09:09:06

最好的方法是使用像DOMDocument这样的解析器,遍历DOM树并删除所有注释节点。或者你自己构建一个解析器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1496899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档