PHP - 删除字符串中HTML标记的效果 - 但也显示它们?

n a*_*n a 5 html php tags replace strip

考虑strip_tags().

strip_tags("<b>TEXT</b>");
Run Code Online (Sandbox Code Playgroud)

输出:

文本

但是,如果我想使标签的效果无效但显示它们呢?

输出:

<b>文字</ b>的

我必须使用preg_replace()吗?或者是否有更优雅的解决方案?

感谢:D

Red*_*ter 13

您可以通过htmlspecialchars对字符串进行HTML编码:

htmlspecialchars("<b>TEXT</b>");
Run Code Online (Sandbox Code Playgroud)


aka*_*ike 6

您可以使用htmlspecialcharshtmlentities轻松地将字符转换为其 HTML 实体。请务必查看 PHP 手册以确定什么最适合您的数据,因为这两个函数的操作略有不同。

然后,您可以使用htmlspecialchars_decodehtml_entity_decode反转编码- 再次检查哪个最适合您的数据。