TinyMCE <p> </p><div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"></div>
TinyMCE <p> </p><div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"></div>
我在 ASP.net VB 中有一个带有 TinyMCE 的多行文本字段。我们网站的用户在他的计算机上安装了一个插件,可以将不需要的 HTML 代码插入 TinyMCE TextField。
<p> </p><div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"></div>
有没有办法在将完整的文本字段内容保存到我的 SQL 数据库之前过滤并删除该文本?
一种选择是在编辑器内序列化内容时使用 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。有关过滤器使用的节点 API 的更多信息,请参见此处:https://www.tiny.cloud/docs/api/tinymce.html/tinymce.html.node/
另一个取决于您的集成的选项是对发送的内容使用服务器端过滤。你如何做到这一点会根据所使用的框架等而有所不同。
我在 ASP.net VB 中有一个带有 TinyMCE 的多行文本字段。我们网站的用户在他的计算机上安装了一个插件,可以将不需要的 HTML 代码插入 TinyMCE TextField。
<p> </p><div id="ConnectiveDocSignExtentionInstalled" data-extension-version="1.0.4"></div>
有没有办法在将完整的文本字段内容保存到我的 SQL 数据库之前过滤并删除该文本?
一种选择是在编辑器内序列化内容时使用 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。有关过滤器使用的节点 API 的更多信息,请参见此处:https://www.tiny.cloud/docs/api/tinymce.html/tinymce.html.node/
另一个取决于您的集成的选项是对发送的内容使用服务器端过滤。你如何做到这一点会根据所使用的框架等而有所不同。