我可以在不使用编辑器的情况下使用tinyMCE清理算法吗?

Nic*_*ina 6 javascript dom tinymce

我正在使用tinyMCE来编辑内容,并且它在为数据发布之前设置了清理规则,以便清理数据.但在我的应用程序的其他方面,我需要显示相同的内容...我不想指望它被放入数据库之前被正确擦洗的事实(它可能已被其他应用程序编辑).

所以为了保持一致性(并且不需要重复工作),有没有办法让我直接在javascript中使用tinyMCE清理/擦除器,以便我可以在将其放入DOM中进行查看之前擦除其他内容?就像是:

var data = getDataViaAjax(); 
var content = tinymce.scrubber.cleanup(data); 
$("someElement").append(content);
Run Code Online (Sandbox Code Playgroud)

更新 - 如何做到的例子

function parse(html) {
    var settings = { 
       invalid_elements : "script,object,embed,link,style,form,input,iframe",
       valid_elements:"a[href],img[src],li,ul,ol,span,div,p,br,blockquote,h1,h2,h3,h4,h5,h6,strong/b,em/i,li,ul,ol"
    };

    var schema = new tinymce.html.Schema(settings);
    var parser = new tinymce.html.DomParser({}, schema);
    var serializer = new tinymce.html.Serializer({}, schema);

    return serializer.serialize(parser.parse(html));
}
Run Code Online (Sandbox Code Playgroud)

Tha*_*ama 1

没有预定义的方法来使用此功能。为了让 mceCleanup-Action 在没有 tinymce 的情况下工作,您必须自己编写它,但您应该能够通过一些更改来使用预定义的 javascript 类。查看开发者tinymce版本(未压缩)。您可以从目录中的serialize文件中的函数开始。Serializer.jsclasses/dom