Python将字符串转换为HTML字符等效物

3

假设我们有一个字符串

Bruce Wayne is Batman

当我将这个字符串转换为HTML字符时,输出结果将是

Bruce Wayne is Batman

我正在尝试找到一种在python 2.7中执行此操作的方法。有人能建议如何实现吗?

我已经搜索了所有关于stackoverflow上的答案,但它们都是如何转义HTML特殊字符。我不是要转义特殊字符,而是将任何和所有字符串转换为它们的HTML字符等效项。Mozila Firefox的hackbar附加组件能够成功地执行此操作,我想使用Python实现相同的功能。

另外,HTMLParse库能够使用unescape()模块成功解码它。 Python中是否有编码它的库方式与上述方式相同? 我也不需要像BeautifulSoup这样的外部库,而是内置库,因为它不会向工具添加任何依赖项。

1个回答

1
据我所知,标准库中没有做到这一点的内容(对每个字符进行实体引用编码不是一个常见的需求),但是编写一个转换函数很简单:
def entitify(text):
    return ''.join('&#%d;' % ord(c) for c in text)

>>> entitify('Bruce Wayne is Batman')
'Bruce Wayne is Batman'

>>> entitify(u'Rinôçérôse')
'Rinôçérôse'

该函数简单地使用ord()内置函数获取每个字符的字节值或码点,将其包装在&#...;中,然后将结果连接起来。

完成任务了。谢谢。 - 7h1n0b1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接