我正在使用手工過濾功能。基本上,它會將頭像,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;
}
提醒事情可能會非常惱人。你應該使用'console.log()'(假設你有Firefox或Chrome)。 – mowwwalker 2012-03-19 04:36:18