富文本編輯器生成的HTML標簽,進行轉義,然后寫入數據庫,防止腳本注入:
function htmlEncode(value){ return $('<div/>').text(value).html(); }
從數據庫拿出的轉義后的HTML標簽內容,先得去除轉義,然后再去除HTML標簽,是生成縮略文字。
/*移除HTML標簽代碼*/ function removeHTMLTag(str) { str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白 //str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行 str=str.replace(/ /ig,'');//去掉 return str; } //轉意符換成普通字符 function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); }
如果是文章詳情頁的話,直接去除轉義就可以顯示在頁面了:
//轉意符換成普通字符 function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); }