1. 程式人生 > >JS轉換HTML轉義符

JS轉換HTML轉義符

arr js轉換 clas console shtml spa mbr 轉義 var

今天在用wangeditor編輯器寫後臺管理文章頁,在保存文章後需要調用一次編輯草稿,這時候需要把編輯的內容拿到編輯器中,結果輸出了我的標簽:<p>您好</p>.經過我的console.log(data)=="&lt;p&gt;打沙包&lt;/p&gt; "。沒錯,我的<>被轉義了,因為不轉義的話沒辦法上傳。

接下來,就是我從其他地方找來的正則。哈哈哈~

//去掉html標簽
function removeHtmlTab(tab) {
 return tab.replace(/<[^<>]+?>/g,‘‘);//刪除所有HTML標簽
}

  

//普通字符轉換成轉意符
function html2Escape(sHtml) {
 return sHtml.replace(/[<>&"]/g,function(c){return {‘<‘:‘<‘,‘>‘:‘>‘,‘&‘:‘&‘,‘"‘:‘"‘}[c];});
}

  我是用的下面這個,就好了。嘿嘿~

//轉意符換成普通字符
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 nbsp2Space(str) {
 var arrEntities = {‘nbsp‘ : ‘ ‘};
 return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]})
}

  

//回車轉為br標簽
function return2Br(str) {
 return str.replace(/\r?\n/g,"<br />");
}

  

//去除開頭結尾換行,並將連續3次以上換行轉換成2次換行
function trimBr(str) {
 str=str.replace(/((\s| )*\r?\n){3,}/g,"\r\n\r\n");//限制最多2次換行
 str=str.replace(/^((\s| )*\r?\n)+/g,‘‘);//清除開頭換行
 str=str.replace(/((\s| )*\r?\n)+$/g,‘‘);//清除結尾換行
 return str;
}

  

// 將多個連續空格合並成一個空格
function mergeSpace(str) {
 str=str.replace(/(\s| )+/g,‘ ‘);
 return str;
}

  

JS轉換HTML轉義符