有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体

Is there a way to decode html entities using javascript without there being a document or jQuery

本文关键字:情况下 jQuery 实体 html 解码 javascript 文档 一种 方法 有没有      更新时间:2023-09-26

我在一个没有文档和jQuery的系统中工作,但是我必须以一种可以理解的方式呈现html实体。因此,将字符串放入元素中,然后获取.text()的技巧是行不通的。

我需要一个纯JavaScript解决方案。系统无法从外部访问,也没有用户输入,因此安全性并不是一个真正的问题。

谢谢你的帮助,我没有主意了(并不是说我一开始就有很多想法)。。。


也许我应该澄清一下,我正在寻找的是一个函数(或让我指向正确方向的指针),它能够翻译字符串,其中包含应该翻译成字符的子字符串。因此它应该能够将"blah &#60; blahblah"翻译成"blah < blahblah"。除了纯javascript之外,我没有其他框架可以使用。

更新:

我已经完成了html4的部分,不是很难,但我一直忙于其他事情。这是小提琴:html4实体到字符。你本可以用一本只包含字符的词典来做同样的事情,但我不想做这样一本词典。这个函数相当简单,但我想它可以进行一些重构,目前还不太麻烦。。。

此函数存在于PHP

(htmlspecialchars_decode)中。因此,您将从PHPJS中找到一个javascript端口。这是基于一个非常成熟的代码库,应该比自己滚动要好。

编辑/添加:我感冒了。我没有正确阅读实体部分。您需要html_entity_decode的等价物:

http://phpjs.org/functions/html_entity_decode/

假设您使用的是nodejs,那么cheerio正是您所需要的。我自己也用过几次,在服务器返回的HTML结构的浏览器外测试中取得了巨大成功。

https://github.com/cheeriojs/cheerio

最棒的是它使用了jQuery API。