有没有更简单的方法可以将非 html 字母转换为 html 字母?例如,如果我这样做function("a")
,它将返回"a"
我知道如何做到这一点的唯一方法是:
def function(text):
return text.replace('a','a')
那么有没有更好的方法来做到这一点,或者使用替换是实现这一目标的唯一方法?
有没有更简单的方法可以将非 html 字母转换为 html 字母?例如,如果我这样做function("a")
,它将返回"a"
我知道如何做到这一点的唯一方法是:
def function(text):
return text.replace('a','a')
那么有没有更好的方法来做到这一点,或者使用替换是实现这一目标的唯一方法?
使用html.entities.codepoint2name
和re.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>')
'<a>'
试试html.entities
(HTML 通用实体的定义)模块。
虽然如果有人可以举一个会有帮助的具体例子