Python3.4之前的HTML实体取消回避

2024-05-16 07:42:19 发布

您现在位置:Python中文网/ 问答频道 /正文

注意:This让我们在3.4python之前的版本上进行3.4html5实体转换!你知道吗

我正在为Markdown的CommonMark规范编写一个parser+呈现程序,并试图找出跨各种python版本转义HTML实体的最佳方法。你知道吗

对于python3我使用html.parser.HTMLParser().unescape,对于python2我使用HTMLParser.HTMLParser().unescape。它们本质上是相同的函数,只是后来的Python版本更新了实体定义表,因为这个字符串在python3.4中运行良好

#␣Ӓ␣Ϡ␣� => #␣Ӓ␣Ϡ␣�

在python3.3和python2上会产生这样的结果

#␣Ӓ␣Ϡ␣� => #␣Ӓ␣Ϡ␣�

其他各种HTML实体也会发生这种情况,例如

Ď␣ℋ␣ⅆ␣∲

我想知道是否有人知道这样做的方式,要么交叉兼容,或在3.4之前的版本,不需要第三方模块良好的工作?你知道吗

我试图避免基本上从python3.4复制实体表并将其存储在某个文件中:<


Tags: 方法程序版本实体规范parserhtmlthis
1条回答
网友
1楼 · 发布于 2024-05-16 07:42:19

您可以使用Python库html5charref

$ pip install git+https://github.com/bpabel/html5charref.git

然后按如下方式使用:

html = u'This has &copy; and &lt; and &#x000a9; symbols'
print html5charref.unescape(html)
# u'This has \uxa9 and < and \uxa9 symbols' 

相关问题 更多 >