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

时间:2012-04-11 19:32:17

标签: javascript dom tinymce

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

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

var data = getDataViaAjax(); 
var content = tinymce.scrubber.cleanup(data); 
$("someElement").append(content);

更新 - 如何操作的示例

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));
}

1 个答案:

答案 0 :(得分:1)

没有预定义的方式来使用此功能。为了使mceCleanup-Action无需工作,您必须自己编写,但是您应该能够使用预定义的javascript类进行一些更改。看看开发人员的tinymce版本(未压缩)。在那里,您可以从文件serialize中的函数Serializer.js开始,该函数可以在classes/dom目录中找到。

相关问题