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