2

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

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

那么有没有更好的方法来做到这一点,或者使用替换是实现这一目标的唯一方法?

4

2 回答 2

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;'
于 2013-09-16T04:45:47.177 回答
2

试试html.entities(HTML 通用实体的定义)模块。

虽然如果有人可以举一个会有帮助的具体例子

于 2013-09-16T04:36:04.513 回答