我正在使用CKEDITOR来获取用户的输入,我在数据库中保存生成的HTML,我在保存到数据库之前使用以下php方法修改我的html:
trim(htmlspecialchars(Generated HTML from CKEDITOR))
出于某种原因,我必须从数据库中提取html并使用setData将其设置为CKEDITOR,我使用以下代码,
<script>CKEDITOR.replace('desc2').setData(\''.htmlspecialchars_decode($data6['html']).'\', function(){this.checkDirty();});</script>
问题:当html非常基本且简单而没有换行符或图像时,它工作正常但是当我在CKEDITOR中放置换行符和图像时,它会显示exeption SyntaxError:unterminated string literal。请重播以解决此问题。
答案 0 :(得分:0)
通过$data6['html']
运行htmlspecialchars_decode
变量时发生的转义序列,加上字符串连接可能会导致您的问题。
为了解决这个问题,请尝试在这种情况下远离字符串连接。 (我不知道这段代码是否会完全适合你,但你明白了这一点:
$ckEditorContent = htmlspecialchars_decode($data6['html']);
CKEDITOR.replace('desc2').setData(htmlspecialchars_decode($ckEditorContent), function(){this.checkDirty();});
答案 1 :(得分:0)
感谢所有回复,我的问题通过以下代码解决了。
<script>CKEDITOR.replace('desc2').setData(json_encode($data6['html']), function(){this.checkDirty();});</script>