我刚刚在我正在构建的网站上安装了 CKeditor 富文本 WYSIWYG 编辑器,它似乎工作正常,除了它以编码 html 而不是常规 html 的形式将文本插入到我的 mysql 数据库中,然后当浏览器输出此内容时它将编码数据转换为常规 html,然后在浏览器中显示,显示 html 标签,但没有任何样式!?
例如我输入:
"This is text"
进入编辑器,然后插入
<p>This is text</p>
进入数据库。然后,当调用该页面时,浏览器会转换上述内容并在页面上输出以下内容:
<p>This is text</p>
显然我只是想要"This is text"
以显示在页面上。
有谁知道为什么会发生这种情况/如何解决它?
任何建议都将受到欢迎。
Cheers
如果您不希望 CKEditor 为您创建段落,请设置config.autoParagraph http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-autoParagraph为假。此外,您可能想更改输入键行为config.enterMode http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode set to CKEDITOR.ENTER_BR
.
And 关于消失的风格 http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter...
编辑:好吧,看来我错过了你的观点。
那么您的网站在渲染您输入的内容时显示的是 HTML 标记而不是 HTML?
那么问题出在你的服务器端而不是CKEditor。您可以在控制台中验证CKEDITOR.instances.yourInstance.getData()
产生正确的、未转义的 HTML:
<p>This is text</p> // Right!
如果是这样,我坚信是这样,CKEditor 就很好,这是您的服务器应用程序,它将特殊字符转换为实体(即像 PHPhtml特殊字符 http://php.net/manual/en/function.htmlspecialchars.php)同时保存到数据库。您没有提到您在那里使用哪种框架/语言,所以我只能告诉您,它是为了保护用户输入以防止跨站点脚本、破坏布局等,并且所有流行的框架都允许您禁用该功能一个特定的领域。只需参考文档即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)