gpt4 book ai didi

javascript - 一种解码 HTML 实体的简单 JavaScript 方法,适用于浏览器和 Node

转载 作者:太空狗 更新时间:2023-10-29 15:22:04 25 4
gpt4 key购买 nike

如何将   ' 等 HTML 实体解码为其原始字符?

在浏览器中,我们可以创建一个 DOM 来实现这个技巧 (see here),或者我们可以使用一些库,例如 he

在 NodeJS 中,我们可以使用一些第三方库,例如 html-entities

如果我们想使用纯 JavaScript 来完成这项工作怎么办?

在 stackoverflow 中有许多类似的问题和有用的答案,但我找不到一种既适用于浏览器又适用于 Node.js 的方法。所以我想分享我的意见。

我在下面发表了我的意见作为答案。我希望它能对某人有所帮助。 :)

最佳答案

在 stackoverflow 中有许多类似的问题和有用的答案,但我找不到一种既适用于浏览器又适用于 Node.js 的方法。所以我想分享我的意见。

对于像   这样的 html 代码< > '甚至汉字。

我建议使用这个功能。 (受其他一些答案的启发)

function decodeEntities(encodedString) {
var translate_re = /&(nbsp|amp|quot|lt|gt);/g;
var translate = {
"nbsp":" ",
"amp" : "&",
"quot": "\"",
"lt" : "<",
"gt" : ">"
};
return encodedString.replace(translate_re, function(match, entity) {
return translate[entity];
}).replace(/&#(\d+);/gi, function(match, numStr) {
var num = parseInt(numStr, 10);
return String.fromCharCode(num);
});
}

此工具也适用于 Node.js 环境。

decodeEntities("&#21704;&#21704;&nbsp;&#39;&#36825;&#20010;&#39;&amp;&quot;&#37027;&#20010;&quot;&#22909;&#29609;&lt;&gt;") //哈哈 '这个'&"那个"好玩<>

作为新用户,我只有 1 个声誉 :(

我无法对现有帖子发表评论或回答,所以这是我现在唯一能做的。

编辑 1

我认为this答案比我的还要好。尽管没有人投他一票。

关于javascript - 一种解码 HTML 实体的简单 JavaScript 方法,适用于浏览器和 Node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44195322/

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