UEditor是百度前端团队推出的一款功能强大的富文本编辑器,最近在项目中使用了UEditor,在更新内容时向UEditor赋值时遇到了问题,UEditor赋值html数据无法按照原来样式显示,而是直接显示html代码。

经过检查发现,我是在Thinkphp5中使用的UEditor,而我又设置了输入过滤,使用了htmlspecialchars过滤提交的html代码。解决办法有如下两种:

1.(不推荐)关闭Thinkphp5的htmlspecialchars过滤,在config.php文件中找到default_filter项删除配置的htmlspecialchars保存即可。

2.(推荐)在赋值时进行二次转义:{$article.content|htmlspecialchars_decode},如果你还设置了其他的转义方式,那么加到后面即可,比如:{$article.content|htmlspecialchars_decode|stripslashes}