gpt4 book ai didi

python - 在 Python 中转义 HTML 的最简单方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 12:31:25 32 4
gpt4 key购买 nike

cgi.escape 似乎是一种可能的选择。它运作良好吗?有什么被认为更好的吗?

最佳答案

html.escape 现在是正确答案,以前是 cgi.escape 在 3.2 之前的 python 中。它逃脱了:

  • <&lt;
  • >&gt;
  • &&amp;

这对于所有 HTML 来说已经足够了。

编辑:如果您有非 ascii 字符,您还想转义,以便包含在另一个使用不同编码的编码文档中,就像 Craig 说的那样,只需使用:

data.encode('ascii', 'xmlcharrefreplace')

别忘了解码 dataunicode首先,使用它被编码的任何编码。

但是根据我的经验,如果您只使用 unicode,那么这种编码是没有用的。从一开始就一直。只需在末尾编码为文档标题中指定的编码(utf-8 以获得最大兼容性)。

例子:

>>> cgi.escape(u'<a>bá</a>').encode('ascii', 'xmlcharrefreplace')
'&lt;a&gt;b&#225;&lt;/a&gt;

另外值得注意的是(感谢 Greg)是额外的 quote 参数cgi.escape需要。将其设置为 True , cgi.escape还转义双引号字符 ("),以便您可以在 XML/HTML 属性中使用结果值。

编辑:请注意,cgi.escape 在 Python 3.2 中已被弃用,取而代之的是 html.escape , 除了 quote 默认为 True。

关于python - 在 Python 中转义 HTML 的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1061697/

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