富文本替换反转义字符如Ω,>特殊字符

这段代码展示了如何创建一个HTML过滤器,用于将特定的HTML特殊字符转换为它们的相应实体,例如`&amp;lt;`转为`<`,`&amp;gt;`转为`>`等。这个函数对于防止XSS攻击和确保内容安全显示非常有用。

  // 抽离成可配置的匹配列表

const matchList  = {

  '&lt;': '<',

  '&gt;': '>',

  '&amp;': '&',

  '&#34;': '"',

  '&quot;': '"',

  '&#39;': "'",

  '&Omega;':'Ω'

}

const HtmlFilter = (text) => {

  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值)

}

export default HtmlFilter

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值