Python html字母表

时间:2013-09-16 04:29:33

标签: python python-3.x

有没有更简单的方法将非html字母转换为HTML字母?例如,如果我function("a"),它将返回"a"我知道如何做的唯一方法是:

 def function(text):
      return text.replace('a','a')

那么有更好的方法可以做到这一点,还是使用替换方法来实现这一目标?

2 个答案:

答案 0 :(得分:3)

使用html.entities.codepoint2namere.sub

import html.entities
import re

def to_entitydef(match):
    n = ord(match.group())
    name = html.entities.codepoint2name.get(n)
    if name is None:
        return '&#{};'.format(n)
    return '&{};'.format(name)

def escape(text):
    return re.sub('.', to_entitydef, text)

示例:

>>> escape('<a>')
'&lt;&#97;&gt;'

答案 1 :(得分:2)

尝试html.entities(Definitions of HTML general entities)模块。

虽然如果有人能给出一个有用的具体例子