非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>'