我有一个 html 实体替换 & ,如下所示:
function htmlEntities(str) {
return String(str).replace(/&(?!amp;)/g, '&');
}
工作正常,不会替换 &
但会替换 &
如何向函数的正则表达式添加多个条件,这样它就不会与其他 html 实体混淆,例如:
'
"
>
<
我测试:
var xxx = "1234 &aaa& aaadas 'xxx' \" kkk <aasd> xxxxxxxxxxxxxxxx <";
console.log(htmlEntities(xxx));
它将取代 <
成为 <
这不是我想要的,我需要它离开 <
就像示例中的 &aaa&
一样取消修改为 &aaa&
希望你明白我的意思,有什么想法吗?
请您参考如下方法:
您可以在正则表达式中使用 |
来进行替代。
var xxx = "1234 &aaa& aaadas 'xxx' \" kkk <aasd> xxxxxxxxxxxxxxxx <";
console.log(htmlEntities(xxx));
function htmlEntities(str) {
return String(str).replace(/&(?!(?:amp|apos|gt|lt);)/g, '&');
}