【问题标题】:TinyMCE <p>&nbsp;</p><div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"></div>TinyMCE <p> </p><div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"></div>
【发布时间】:2021-07-23 17:14:44
【问题描述】:

我在带有 TinyMCE 的 ASP.net VB 中有一个多行文本字段。我们网站的用户在他的计算机上有一个插件,可以将不需要的 HTML 代码插入到 TinyMCE 文本字段中。

<p>&nbsp;</p><div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"></div>

有没有办法在将完整的文本字段内容保存到我的 SQL 数据库之前过滤并删除它?

【问题讨论】:

    标签: html asp.net vb.net tinymce


    【解决方案1】:

    一个选项是使用 TinyMCE 节点过滤器在对编辑器中的内容进行序列化时移除元素。这是一个例子:

    setup: (editor) => {
      editor.on('PreInit',() => {
        // Create a custom node filter to remove unwanted content when getting content from the editor
        editor.serializer.addNodeFilter('div', (nodes) => {
          nodes.forEach((node) => {
            const id = node.attr('id');
            if (id === 'ConnectiveDocSignExtentionInstalled') {
              node.remove();
            }
          });
        });
      });
    }
    

    及其工作版本:https://fiddle.tiny.cloud/RAhaab/1

    这通过在初始化序列期间注册一个过滤器来删除 TinyMCE 从编辑器获取内容时用户扩展添加的违规 div。更多关于过滤器使用的 Node API 的信息可以在这里找到:https://www.tiny.cloud/docs/api/tinymce.html/tinymce.html.node/

    另一个取决于您的集成的选项是对发送的内容使用服务器端过滤。你如何做到这一点会因所使用的框架等而有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 2019-11-26
      • 2013-05-23
      • 1970-01-01
      • 2011-11-10
      • 2019-05-27
      相关资源
      最近更新 更多