3

可能重复:
用 Python 2.6 中相应的 utf-8 字符替换 html 实体 在 Python
中转义 HTML 的最简单方法是什么?

有一种方法可以轻松地将字符串转换为 HTML 字符串,例如将 <、> 等字符替换为,&lt; &gt; 或者我是否必须编写自己的转换例程?

4

1 回答 1

12

如果您只关心关键的特殊字符,例如&,<>

>>> import cgi
>>> cgi.escape("<hello&goodbye>")
'&lt;hello&amp;goodbye&gt;'

对于其他非 ASCII 字符:

>>> "Übeltäter".encode("ascii", "xmlcharrefreplace")
b'&#220;belt&#228;ter'

当然,如果需要,你可以将两者结合起来:

>>> cgi.escape("<Übeltäter>").encode("ascii", "xmlcharrefreplace")
b'&lt;&#220;belt&#228;ter&gt;'
于 2012-06-12T09:23:59.123 回答