我正在尝试在TinyMCE编辑器中包含简单的代码示例。当我编写它并将其保存在MySQL数据库中时它看起来很好。但是当再次在TinyMCE编辑器中加载它时,HTML标签似乎就会被执行,即使它们被保存为HTML名称而不是实际的标签。
例如,如果我写
<b>test</b>
在数据库中,这正是存储的内容,但在TinyMCE编辑器中加载时,它现在看起来像
<b>test</b>
如果将其保存并再次加载,则转为
测试
因此,似乎TinyMCE正在执行标记,即使它们不是开始的实际标记。有谁知道为什么会这样?
我试图在代码周围添加预标记和代码标记,但TinyMCE似乎忽略了它。我也尝试添加
preformatted : true,
verify_html : false,
到TinyMCE初始化函数。
非常感谢任何帮助。 感谢。
答案 0 :(得分:1)
此选项启用或禁用内置清理功能。 TinyMCE具有强大的清理功能,使您可以指定允许的元素和属性以及应如何生成HTML内容。默认情况下,此选项设置为true,但如果要禁用它,则可以将其设置为false。
注意:建议不要禁用此功能。
值得一提的是,浏览器通常会与HTML混淆。清理不仅修复了浏览器解析的HTML文档的几个问题,比如路径等,它还确保它是一个正确的XHTML文档,所有标签都关闭,“在正确的位置,以及类似的东西。” / p>
tinyMCE.init({
...
cleanup : true
});
答案 1 :(得分:1)
我发现这不是TinyMCE问题,这就是textareas的工作原理。我使用了PHP函数htmlspecialchars(),现在一切正常。
<textarea><?=htmlspecialchars($content)?></textarea>