Ckeditor 设置编辑器中的数据问题

Ckeditor 设置编辑器中的数据问题,ckeditor,Ckeditor,我正在使用CKEDITOR从用户处获取输入,我正在数据库中保存生成的HTML,在保存到数据库之前,我正在使用以下php方法修改我的HTML: trim(htmlspecialchars(Generated HTML from CKEDITOR)) 出于某种原因,我必须从数据库中提取html并使用setData将其设置为CKEDITOR,我使用以下代码, CKEDITOR.replace'desc2.setData\.htmlspecialchars\u decode$data6['html']

我正在使用CKEDITOR从用户处获取输入,我正在数据库中保存生成的HTML,在保存到数据库之前,我正在使用以下php方法修改我的HTML:

trim(htmlspecialchars(Generated HTML from CKEDITOR))
出于某种原因,我必须从数据库中提取html并使用setData将其设置为CKEDITOR,我使用以下代码, CKEDITOR.replace'desc2.setData\.htmlspecialchars\u decode$data6['html'].\',函数{this.checkDirty;}


问题:如果html非常基本且简单,没有换行符或图像,那么它可以正常工作,但是当我在CKEDITOR中放置换行符和图像时,它会显示exeption SyntaxError:unterminated string literal。请重播以解决此问题。

在$data6['html'中出现的转义序列当您通过htmlspecialchars_解码运行变量时,再加上字符串串联,可能会导致您的问题

为了解决这个问题,在类似这样的情况下,请尝试远离字符串连接。 我不知道这段代码是否完全适用于您,但您知道:

$ckEditorContent = htmlspecialchars_decode($data6['html']);
CKEDITOR.replace('desc2').setData(htmlspecialchars_decode($ckEditorContent), function(){this.checkDirty();});

谢谢所有的回复,我的问题用下面的代码解决了

<script>CKEDITOR.replace('desc2').setData(json_encode($data6['html']), function(){this.checkDirty();});</script>

老实说,我无法对您的示例代码进行正面或反面的分析…简而言之,当我在数据库中保存时,我的html中有换行符。当我通过以下代码将html重新分配给ckeditor时,这些换行符会导致我的ckeditor中断。ckeditor.replace'desc.$slide\U no.\''.setData\.htmlspecialchars\U decode$data6['html'.\',',,函数{this.checkDirty;};好的,考虑一下如果PHP的字符序列会考虑一个转义字符,或者更糟糕的是,在文本行中的一个非漏掉的引用会发生什么。它会打断您试图放入.setData函数中的字符串。您最终会看到类似于“看到那些匹配的单引号了吗?”?这就是问题所在