js處理富文字編輯器轉義、去除轉義、去除HTML標籤
阿新 • • 發佈:2020-10-20
富文字編輯器生成的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];}); }