// 抽离成可配置的匹配列表
const matchList = {
'<': '<',
'>': '>',
'&': '&',
'"': '"',
'"': '"',
''': "'",
'Ω':'Ω'
}
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
这段代码展示了如何创建一个HTML过滤器,用于将特定的HTML特殊字符转换为它们的相应实体,例如`&lt;`转为`<`,`&gt;`转为`>`等。这个函数对于防止XSS攻击和确保内容安全显示非常有用。
340

被折叠的 条评论
为什么被折叠?



