UEditor显示Invalid or unexpected token

原文链接http://www.qqdeveloper.com/a/53.html

问题背景   

数据修改操作,需要做一个数据内容回显,该内容中包含代码、图片、普通文本等等内容,反正就是各种内容。

当做数据回显时,用的是ueditor的setContent()函数。

错误情况

下面是错误信息,和错误信息的位置 

开发代码

使用的是tp5,具体代码实现如下。这是html代码

 <script id="container" name="content" type="text/plain">
        {:htmlspecialchars_decode($artic_content['artic_content'])}
 </script>

 js使用setContent()渲染内容   

var ue = UE.getEditor('container');
    ue.ready(function () {
    ue.setContent('{$content}');
});

 使用上述方式,则显示上面的错误信息  

解决方案

我这里就没用到js,也就是说没用ueditor的setContent()方法。直接在html中写入内容。在js中初始化一下编辑器,这里就不添加代码了。

使用了PHP的内置函数htmlspecialchars_decode()函数,将文本内容转实体。官方手册

<script id="container" name="content" type="text/plain">
    {:htmlspecialchars_decode($artic_content['artic_content'])}
</script>

问题回顾

至于为什么用ueditor的setContent()出现如下错误,还未想明白。如果看到文章的你,发现怎么回事,请评论区留言。

额外收获

在thinkphp框架中,模板函数可以使用自定义函数也可以使用PHP内置函数,使用方法就是上面解决方案中使用的方式。

具体参考手册的文档底部有说明      

原文地址:https://www.cnblogs.com/qqblog/p/7636408.html