JS转换HTML转义符

今天在用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;
}

  

posted @ 2017-06-20 13:35  宋宇  阅读(3750)  评论(0编辑  收藏  举报