删除 HTML 而不转义

Removing HTML without escaping

<div class="item itemask" ><div class="tophead"><div class="itemnumber"></div><a class="article" href=""></a> </div><div class="bottomhead"> points by <a class="userlink" rel=""></a>&nbsp;&nbsp;  ago&nbsp;&nbsp;&nbsp;<a href="http://news.ycombinator.com/item?id=">discuss</a></div></div>

如何 PHP 删除页面中上述代码段的所有实例而不需要转义上述字符串。或者,我怎样才能轻松获得上面的转义字符串,以便插入 preg_replace 以将其删除。

我需要运行 PHP 在服务器上针对一堆htm 文件。必须在服务器端一次操作完成。

您可以使用 preg_quote:

转义您的搜索字符串
string preg_quote ( string $str [, string $delimiter = NULL ] )

preg_quote() 采用 str 并在作为正则表达式语法一部分的每个字符前面放置一个反斜杠。如果您需要在某些文本中匹配 运行 时间字符串并且该字符串可能包含特殊的正则表达式字符,这将很有用。

特殊的正则表达式字符是:. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -