html转义反转义

html转义反转义,第1张

// 字符串反转义

function enXssHtml(text) {

const matchList = {

"<": "<",

">": ">",

"&": "&",

"": '""',

""": '"',

"'": "'",

}

let regStr = "(" + Object.keys(matchList).toString() + ")"

// ↑ ------------【 提取匹配列表key值 】.【组数转字符串】

regStr = regStr.replace(/,/g, ")|(")

// ↑ 通过匹配将其更新为正则的字符串类型

const regExp = new RegExp(regStr, "g")

// ↑ ------- 字符串 转 正则 方法

return text.replace(regExp, (match) =>matchList[match])

// ↑ ------ 替换方法 (正则, 当前key =>返回当前被匹配的key值)

}

// 字符串反转义

function deXssHtml(text) {

const matchList = {

"<": "<",

">": ">",

"&": "&",

'"': '"',

'"': '"',

"'": "'",

}

let regStr = "(" + Object.keys(matchList).toString() + ")"

// ↑ ------------【 提取匹配列表key值 】.【组数转字符串】

regStr = regStr.replace(/,/g, ")|(")

// ↑ 通过匹配将其更新为正则的字符串类型

const regExp = new RegExp(regStr, "g")

// ↑ ------- 字符串 转 正则 方法

return text.replace(regExp, (match) =>matchList[match])

// ↑ ------ 替换方法 (正则, 当前key =>返回当前被匹配的key值)

}

asp用Server.HTMLEncode

<%response.write(Server.HTMLEncode("The image tag: <img>"))%>

javascript 用正则表达式进行转换处理

var HtmlUtil = {

/*1.用正则表达式实现html转码*/

htmlEncodeByRegExp:function (str){

var s = ""

if(str.length == 0) return ""

s = str.replace(/&/g,"&")

s = s.replace(/</g,"<")

s = s.replace(/>/g,">")

s = s.replace(/ /g," ")

s = s.replace(/\'/g,"'")

s = s.replace(/\"/g,""")

return s

},

/*2.用正则表达式实现html解码*/

htmlDecodeByRegExp:function (str){

var s = ""

if(str.length == 0) return ""

s = str.replace(/&/g,"&")

s = s.replace(/</g,"<")

s = s.replace(/>/g,">")

s = s.replace(/ /g," ")

s = s.replace(/'/g,"\'")

s = s.replace(/"/g,"\"")

return s

}

}

这篇文章主要介绍百分号符号(%)是否总是HTML转义?, 对于目前你搜索查找的问题还是具有很好的参考价值,希望编程之家小编整理的这个内容对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。

我知道百分比符号必须在传递时被URL编码,但是当我在浏览器中显示时,是否也需要像这样转义:%?

解决方法

在URL中,百分号(%)有一个 special meaning,所以应该被转义。在HTML中,它不是,所以没有必要逃脱它。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8295486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存