JavaScript RegEx 取代 HTML 编码

标签 javascript regex replace html-encode

我有以下 JS 代码,我想用 $ 符号替换所有 (₪)。

$(this).html($(this).html().replace(/₪/g,'$'));

但是它没有做任何事情。我还尝试转义特殊字符(因为我不知道哪些需要,哪些不需要),但这也不起作用。

最佳答案

当您访问 innerHTML(或 jQuery 的 html())时,浏览器会重新创建 HTML 作为 DOM 的表示。这意味着只有在必要时,才会在 innerHTML 的输出中对可能已在原始 HTML 中编码的字符进行编码,以确保可以解析生成的 HTML。由于 不是 HTML 结构的语法部分,因此不会对其进行编码。

tl;dr,替换文字字符:

.replace(/₪/g,'$')

或者,如果您不确定文件的编码,请使用 Unicode 转义序列:

.replace(/\u20AA/g,'$')

关于JavaScript RegEx 取代 HTML 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473362/

相关文章:

javascript - 找到短语时替换整个句子

javascript - 为什么 RegExp.exec(...) 对我的第二个参数返回未定义?

javascript - 跳出替换全局循环

python - 替换重复的字符串字符

java - 使用 String.replace 来复制最终字符串

javascript - 在 Angularjs 中添加新行后如何以编程方式关注下一个单元格

javascript - AngularJS "unexpected token ["初始化对象数组

javascript - 检测和修复 JavaScript 中的循环引用

javascript - JQuery,不同点击时更改按钮

javascript - 仅获取所选输入文件的名称