FunnyWeb

据说这里有很多神奇的东西...

UEditor赋值

2016-05-15 14:47:442104 views

(旧方法会出现问题,后面有新方案)

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'));