韶华小苑 |

时光不负终不老

您现在的位置是: 首页 > 文章 >

JS处理HTML转义符的方法

JS处理HTML转义符的方法

大帅哥 2021-01-05 暂无评论 暂无分类 14

一、去掉html标签

通常用来直接获取全部内容,这里传入的 tab 参数一般会是获取的源码,或者包含 html标签字符串

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

二、普通字符转换成转义符

通常用来做防攻击的转义,比如sql注入攻击的防护

function html2Escape(sHtml) { 
    return sHtml.replace(/[<>&"]/g,function(c){return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;'}[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];}); 
}

四、特殊字符转回空格

这里是将 &nbsp; 这个字符重新转换为空格显示

function nbsp2Space(str) { 
    var arrEntities = {'nbsp' : ' '}; 
    return str.replace(/&(nbsp);/ig, function(all, t){return arrEntities[t]}) 
}

五、回车转为br标签

function return2Br(str) {
    return str.replace(/
?
/g,"<br />"); 
}

六、去除开头结尾换行,并将连续3次以上换行转换成2次换行

function trimBr(str) { 
    str=str.replace(/((s|&nbsp;)*
?
){3,}/g,"

");//限制最多2次换行 
    str=str.replace(/^((s|&nbsp;)*
?
)+/g,'');//清除开头换行 
    str=str.replace(/((s|&nbsp;)*
?
)+$/g,'');//清除结尾换行 
    return str; 
}

七、将多个连续空格合并成一个空格

function mergeSpace(str) { 
    str=str.replace(/(s|&nbsp;)+/g,' '); 
    return str; 
}

本文摘抄自网络,原文链接:
https://www.jb51.net/article/91122.htm

本文链接: https://hw13.cn/dd234cdf4a377c919305abe4ffca7e1a.html 最后修改时间: 2021-01-05 17:09:57

瞅我来气不?用红包砸死我吧

赞赏作者
扫一扫支付