【问题标题】:TinyMCE executes HTML tags - how to stop it?TinyMCE 执行 HTML 标签 - 如何阻止它?
【发布时间】:2012-08-07 10:56:41
【问题描述】:

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

例如,如果我写

<b>test</b>

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

<b>test</b>

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

测试

所以看起来 TinyMCE 正在执行这些标签,尽管它们一开始并不是真正的标签。有谁知道为什么会这样?

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

preformatted : true,
verify_html : false,

到 TinyMCE 初始化函数。

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

【问题讨论】:

    标签: tinymce textarea html


    【解决方案1】:

    来自v3 documentation

    在 3.4 中移除

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

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

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

    清理选项的使用示例:

    tinyMCE.init({
            cleanup : true
    });
    

    【讨论】:

    • 我尝试添加这个,但所有标签都消失了。不过还是谢谢:)
    【解决方案2】:

    我发现这不是 TinyMCE 问题,这正是 textareas 的工作原理。我使用了 PHP 函数 htmlspecialchars(),现在一切正常。

    <textarea><?=htmlspecialchars($content)?></textarea>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      • 1970-01-01
      • 2014-01-09
      相关资源
      最近更新 更多