首页 > 建站教程 > JS、jQ、TS >  js将html转义和反转义的两个函数正文

js将html转义和反转义的两个函数

HTML标签,有时需要显示出来,或者为了防止一些危险的操作,可能需要将它转义,如:
<h1>我爱模板网</h1>
通过:
function html2Escape(sHtml) {
    return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[c];});
}
html2Escape('<h1>我爱模板网</h1>');  //得到:&lt;h1&gt;我爱模板网&lt;/h1&gt;
转义后:
&lt;h1&gt;我爱模板网&lt;/h1&gt;
如果,得到的是转义后的代码,需要将它反转义,然后输出出来,可以使用下面的js函数:
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];});
}
escape2Html('&lt;h1&gt;我爱模板网&lt;/h1&gt;');  //得到:<h1>我爱模板网</h1>