1. 程式人生 > 實用技巧 >js處理富文字編輯器轉義、去除轉義、去除HTML標籤

js處理富文字編輯器轉義、去除轉義、去除HTML標籤

富文字編輯器生成的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];}); 
    }