ホームページ >ウェブフロントエンド >jsチュートリアル >HTMLエスケープ文字をJSで変換する方法

HTMLエスケープ文字をJSで変換する方法

高洛峰
高洛峰オリジナル
2017-03-12 17:57:481982ブラウズ

//去掉html标签

function removeHtmlTab(tab) {
 return tab.replace(/<[^<>]+?>/g,&#39;&#39;);//删除所有HTML标签
}

//普通字符转换成转意符

function html2Escape(sHtml) {
 return sHtml.replace(/[<>&"]/g,function(c){return {&#39;<&#39;:&#39;&lt;&#39;,&#39;>&#39;:&#39;&gt;&#39;,&#39;&&#39;:&#39;&amp;&#39;,&#39;"&#39;:&#39;&quot;&#39;}[c];});
}

//转意符换成普通字符

function escape2Html(str) {
 var arrEntities={&#39;lt&#39;:&#39;<&#39;,&#39;gt&#39;:&#39;>&#39;,&#39;nbsp&#39;:&#39; &#39;,&#39;amp&#39;:&#39;&&#39;,&#39;quot&#39;:&#39;"&#39;};
 return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];});
}

// 转成空格

function nbsp2Space(str) {
 var arrEntities = {&#39;nbsp&#39; : &#39; &#39;};
 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,&#39;&#39;);//清除开头换行
 str=str.replace(/((\s| )*\r?\n)+$/g,&#39;&#39;);//清除结尾换行
 return str;
}

// 将多个连续空格合并成一个空格

function mergeSpace(str) {
 str=str.replace(/(\s| )+/g,&#39; &#39;);
 return str;
}

以上がHTMLエスケープ文字をJSで変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。