PHP中使用htmlentities无法输出HTML格式内容的问题咨询
PHP htmlentities 用法错误分析与解决
你的问题出在用错了函数:
htmlentities()的作用是把普通HTML字符(比如<、>)转成实体编码(<、>),而你当前的字符串$string2本身已经是实体编码后的内容,再调用htmlentities()相当于做了双重转义,所以最终输出的是二次转义后的结果。要把实体编码转回可渲染的HTML,你需要用
html_entity_decode()函数,这才是和htmlentities()对应的解码操作。
修正后的代码:
$string2 = '<h1>Hello</h1>'; echo html_entity_decode($string2);
执行这段代码后,浏览器会把解码后的<h1>Hello</h1>渲染成一级标题,而不是显示源码。
额外说明:
- 如果你的原始内容是
<h1>Hello</h1>,想要转成实体编码来显示源码(避免浏览器渲染),才需要用htmlentities(); - 现在你的需求是反向的,把实体编码还原成HTML,所以必须用解码函数。
内容的提问来源于stack exchange,提问作者Shadow341
相关产品推荐
相关产品推荐

