gpt4 book ai didi

javascript - JavaScript 中的 HtmlSpecialChars 等价物是什么?

转载 作者:IT老高 更新时间:2023-10-28 11:09:44 25 4
gpt4 key购买 nike

显然,这比我想象的要难找到。它甚至是那么简单……

有没有相当于PHP的htmlspecialchars的函数内置在 JavaScript 中?我知道自己实现这一点相当容易,但使用内置函数(如果可用)会更好。

对于那些不熟悉 PHP 的人,htmlspecialchars 可以翻译 <htmltag/> 之类的内容。进入 &lt;htmltag/&gt;

我知道 escape()encodeURI()不要这样工作。

最佳答案

您的解决方案代码存在问题 - 它只会转义每个特殊字符的第一次出现。例如:

escapeHtml('Kip\'s <b>evil</b> "test" code\'s here');
Actual: Kip&#039;s &lt;b&gt;evil</b> &quot;test" code's here
Expected: Kip&#039;s &lt;b&gt;evil&lt;/b&gt; &quot;test&quot; code&#039;s here

这是正常工作的代码:

function escapeHtml(text) {
return text
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;");
}

更新

下面的代码将产生与上面相同的结果,但它的性能更好,尤其是在大文本 block 上(感谢 jbo5112)。

function escapeHtml(text) {
var map = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#039;'
};

return text.replace(/[&<>"']/g, function(m) { return map[m]; });
}

关于javascript - JavaScript 中的 HtmlSpecialChars 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1787322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com