UEditor赋值
(旧方法会出现问题,后面有新方案)
UEditor编辑器使用时常会遇到赋值问题。
赋值时要注意等待编辑器初始化完毕
var ue = UE.getEditor('editor'); ue.addListener("ready", function () { // editor准备好之后才可以使用 UE.getEditor('editor').setContent('{$acontent}'); });
赋值时,如果出现换行符,则会导致js错误,需在保存数据库时进行特殊字符处理,常使用
str_replace(array("
", "
", "
"), "", htmlspecialchars_decode(nl2br(I('editor'))));
将换行替换为
,转义特殊字符,并去除空格。
2017.5.5添加
由于上述旧方案会导致代码高亮后出现额外的标签,故采用新的解决方案
其中的xxxxxx为从thinkphp后台取出的编辑器内容(需要jquery支持)
前端:
在html最后部分加入
{$xxxxxx}
后端:
保存时仅需要特殊字符的decode
$data['ArticleContent']=htmlspecialchars_decode(I('editor'));