我正在使用 TinyMCE 插件并将valid_elements
选项设置为:
"a[href|target:_blank],strong/b,em/i,br,p,ul,ol,li"
即使没有列出 data- 属性,TinyMCE 也不会删除它们。它似乎去掉了所有其他未列出的属性,但出于某种原因,数据属性(例如data-foo="bar"
)是一个例外。如何让 TinyMCE 去除数据属性?
我正在使用 TinyMCE 3.4.7 版
这就是我解决这个问题的方法。我通过此函数运行 TinyMCE 生成的 HTML 手动更改:
var stripDataAttributes = function(html) {
var tags = html.match(/(<\/?[\S][^>]*>)/gi);
tags.forEach(function(tag){
html = html.replace(tag, tag.replace(/(data-.+?=".*?")|(data-.+?='.*?')|(data-[a-zA-Z0-9-]+)/g, ''));
});
return html;
};
这是一个 jsbin:https ://jsbin.com/lavemi/3/edit?js,console
以下是您可以使用它的方法:
tinyMCE.activeEditor.setContent(
stripDataAttributes(
tinyMCE.activeEditor.getContent()
)
);