1

我正在尝试在 TinyMCE 编辑器中包含简单的代码示例。当我编写它并保存在 MySQL 数据库中时,它看起来很好。但是当再次在 TinyMCE 编辑器中加载它时,HTML 标记似乎被执行,即使它们被保存为 HTML 名称而不是实际标记。

例如,如果我写

<b>test</b>

在数据库中,这正是存储的内容,但是当在 TinyMCE 编辑器中加载它时,它现在看起来像

<b>test</b>

如果再次保存并加载它,它会变成

测试

所以看起来 TinyMCE 正在执行标签,即使它们不是真正的标签。有谁知道为什么会这样?

我试图在代码周围添加前标记和代码标记,但 TinyMCE 似乎忽略了它。我也尝试添加

preformatted : true,
verify_html : false,

到 TinyMCE 初始化函数。

任何帮助将不胜感激。谢谢。

4

2 回答 2

2

v3 文档

在 3.4 中移除

此选项启用或禁用内置清理功能。TinyMCE 配备了强大的清理功能,使您能够指定允许的元素和属性以及应该如何生成 HTML 内容。此选项默认设置为 true,但如果您想禁用它,可以将其设置为 false。

注意:不建议禁用此功能。

值得一提的是,浏览器通常会混淆 HTML。清理不仅修复了浏览器解析的 HTML 文档的几个问题,如路径等,它还确保它是正确的 XHTML 文档,所有标签都已关闭,“在正确的位置,等等。

清理选项的使用示例:

tinyMCE.init({
        cleanup : true
});
于 2012-08-07T11:46:03.827 回答
1

我发现这不是 TinyMCE 问题,这就是 textareas 的工作方式。我使用了 PHP 函数 htmlspecialchars(),现在一切都按预期工作。

<textarea><?=htmlspecialchars($content)?></textarea>
于 2012-08-08T13:04:15.580 回答