Ckeditor 设置编辑器中的数据问题
我正在使用CKEDITOR从用户处获取输入,我正在数据库中保存生成的HTML,在保存到数据库之前,我正在使用以下php方法修改我的HTML: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']
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函数中的字符串。您最终会看到类似于“看到那些匹配的单引号了吗?”?这就是问题所在