问题:使用Thinkphp5.1 开发的时候显示CKEditor保存的内容不符合预期。

希望的样子,肯定是不显示<p><b>等标签,而是下面的样子。

因为刚开始使用TP5.1和CKEditor,所以遇到问题有点懵。立马就去找官方文档,但是文档很多,不知从何看起。
这个问题其实与CKEditor没有任何关系,因为在网页编辑器的内容保存到数据库就是带标签的,而前台就是现实带标签的内容,似乎一点问题都没有。
突然,灵光乍现,是不是HTML转义的问题!果然,TP5.1在使用模板标签现实内容的时候默认会做htmlspecialchars()!
知道了原因,那么如何解决呢?用htmlspecialchars_decode() 反转义吗? 当然不是!
<div class="retheader">{$data.name}的查询结果如下:</div>
<div class="ret">{$data.desc|raw}</div>
正确和简单的方式是在页面中加一个"|raw" 即可! 这个解决方式非常简单,但是如果不知道的人,也是会很伤脑筋哦!记录且分享一下!
--------------------------------------------------------------
欢迎交流
个人博客:www.wxp123.me
本文解决了一个在ThinkPHP5.1框架下使用CKEditor富文本编辑器时,保存内容显示异常的问题。通过理解TP5.1默认的HTML转义机制,作者找到了一个简单而有效的解决方案,在页面模板中使用|raw过滤器来直接输出未转义的HTML内容。

1051

被折叠的 条评论
为什么被折叠?



