Я использовал функцию ручной фильтрации.По сути, он преобразует заголовки, htmls и мета-теги в div и абзацы, чтобы они не терялись по пути.Это была моя функция, вы можете адаптировать ее для чего-то другого.
function filterInput(sx){
var t = new Date().getTime();
var strip_only = function (input,only){only=(((only||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join('');var tags=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,commentsAndPhpTags=/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;return input.replace(commentsAndPhpTags,'').replace(tags,function($0,$1){return only.indexOf('<'+$1.toLowerCase()+'>')===-1?$0:'';});};
sx = sx.replace(new RegExp('<html.*?>','gmi'),'').replace(new RegExp('</html>','gmi'),'');
/* strip out head & body tags */
sx = sx.replace(new RegExp('<head.*?>','gmi'),'<div id="u_'+t+'_head">')
.replace(new RegExp('</head>','gmi'),'</div>')
.replace(new RegExp('<body.*?>','gmi'),'')
.replace(new RegExp('</body>','gmi'),'');
/* replace title tag */
sx = sx.replace(new RegExp('<title.*?>','gmi'),'<p id="u_'+t+'_title">')
.replace(new RegExp('</title>','gmi'),'</p>');
/* replace meta tags */
sx = sx.replace(new RegExp('<meta','gmi'),'<p');
sx = strip_only(sx,'<img><link><style>');
/* wrap */
sx = $("<div>"+sx+'</div>');
return sx;
}