HTML 中的预留字符必须被替换为字符实体。
常见字符对应表:
字符 | 描述 | 字符实体 |
---|---|---|
|
空格 | |
< | 小于号 | < |
> | 大于号 | > |
" | 双引号 | " |
& | 与号 | & |
一、字符转义成字符实体
function char2entities (str) {
// 数据字典
const obj = {
' ': 'nbsp',
'<': 'lt',
'>': 'gt',
'"': 'quot',
'&': 'amp'
}
return str.replace(/( |<|>|"|&)/ig, (all, arg0) => {
return `&${obj[arg0]};`
})
}
测试:
console.log(char2entities(' 111<111>111"111&'))
// 结果: 111<111>111"111&
二、字符实体转义成字符
function entities2char(str) {
// 数据字典
const obj = {
'nbsp': ' ',
'lt': '<',
'gt': '>',
'quot': '"',
'amp': '&'
}
return str.replace(/&(nbsp|lt|gt|quot|amp);/ig, (all, arg0) => {
return obj[arg0]
})
}
测试:
console.log(entities2char(' 111<111>111"111&'))
// 结果: 111<111>111"111&
网友评论