python:转换为HTML特殊字符

时间:2012-06-12 09:18:03

标签: python html

  

可能重复:
  Replace html entities with the corresponding utf-8 characters in Python 2.6
  What's the easiest way to escape HTML in Python?

有一种方法可以轻松地将字符串转换为HTML字符串, 例如使用像&lt ;,>这样的字符由< >取代 或者我是否必须编写自己的转换程序???

1 个答案:

答案 0 :(得分: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;'