gpt4 book ai didi

CKEDITOR - 删除过滤器中的标签

转载 作者:行者123 更新时间:2023-12-03 06:36:07 25 4
gpt4 key购买 nike

对于此示例标记:

<p>Hello <span class='blah'>John</span>, how are you?</p>

我正在尝试创建一个过滤器来检测 blah 类并仅保留名称 John,删除跨度。这是我的过滤器:

    var rules = {
elements: {
span: function(element) {
if (element.hasClass("blah")) {
var text = element.children[0].value;
return text;
}
}
}
};

这是我调用它的示例代码:

    var filter = new CKEDITOR.htmlParser.filter(rules);
var fragment = CKEDITOR.htmlParser.fragment.fromHtml(text);
var writer = new CKEDITOR.htmlParser.basicWriter();
filter.applyTo(fragment);
fragment.writeHtml(writer);
var results = writer.getHtml();
console.log(results);

这是一个JSFiddle which demonstrates the issue

最佳答案

要使其正常工作,您需要返回 CKEDITOR.htmlParser.text 的实例而不是返回一个字符串。但还有一种更简单的方法:

var rules = {
elements: {
span: function(element) {
if (element.hasClass("blah")) {
delete element.name;
}
}
}
};
瞧! <span>标签被剥离,但其内容被保留。

关于CKEDITOR - 删除过滤器中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com