富文本编辑器编辑的HTML代码保存到数据库取出后被实例化

这问题和“PHP如何原样输出HTML代码”是一样的。

在一次写文章时要插入HTML代码,比如:

<h2>jQuery and AJAX is FUN!!! </h2>
<p id="p1" >This is some text in a paragraph. </p>

保存在数据库后,前台文章页面显示是正常的,但是后台重新打开编辑时,已经变样。<h2></h2>和<p id="p1" ></p>已经没有了,被直接转换为 HTML 实体翻译出来了。

然后一度怀疑是富文本编辑器的问题,换了好几个依旧没解决。最后发现是HTML转义问题,和编辑器无关。

只要在编辑器取出值的地方原来是直接取出的:echo $str;改成echo htmlentities($str,ENT_QUOTES);即可解决问题。