tinymce代码插入,无法使其工作

时间:2016-09-07 13:37:31

标签: tinymce tinymce-4

我启用了codesample插件https://www.tinymce.com/docs/plugins/codesample/ 为了测试它,我输入了像这样的头标记

first

,它在编辑器中显示如下

second

当我将其保存到数据库时,它会像这样保存:

<pre class="language-markup"><code>&lt;head&gt;</code></pre>

当我重新加载页面时,我得到的就是编辑器

<pre>&nbsp;</pre>

数据库看起来仍然像

<pre class="language-markup"><code>&lt;head&gt;</code></pre>

但编辑器中没有可见的标题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将原始HTML放入<textarea>时,您需要正确转义放在<textarea>中的HTML代码。由于您没有这样做,浏览器(以及代理TinyMCE)尽可能“清理”无效标记。

你可以:

  1. 正确转义HTML
  2. 使用setContent() API加载您的HTML 进入TinyMCE(而不是将HTML注入<textarea>
  3. 我个人建议使用上面的 second 选项,因为它完全消除了将HTML注入<textarea>的变幻莫测。

    如果您想尝试我上面列出的第一个解决方案,如果您使用PHP

    ,则可能会执行此类操作
    <?php
      $content = "This string contains the TM symbol: &trade;";
      print "<textarea>". htmlentities($content) ."</textarea>";
    ?>
    

    我使用的每种语言都有一些等同于htmlentities()