2016-12-30 42 views
2

比方說,我們有一個字符串Python的字符串轉換爲HTML字符等效

Bruce Wayne is Batman

當我轉換這個字符串HTML字符,輸出將是

Bruce Wayne is Batman

我想找到一種方法來在python 2.7中做到這一點。任何人都可以建議如何做到這一點?

我已經搜索了所有的stackoverflow和所有我找到的答案是如何轉義HTML特殊字符。我不想轉義特殊字符,而是將任何和所有字符串轉換爲它們的HTML char等價物。 mozila firefox的hackbar插件能夠成功完成,我想用python實現它。

此外,HTMLParse庫能夠使用unescape()模塊成功解碼它。是否有一個Python中的庫來按照上面提到的方式對它進行編碼?此外,我不尋找外部庫如BeautifulSoup,而是一個內置的庫,因爲它不會增加對該工具的依賴關係。

回答

0

據我所知沒有什麼標準庫做到這一點(編碼字符作爲實體引用是不常見的事情需要做的),而是一個功能來進行轉換非常簡單:

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()來獲取每個字符的字節值或代碼點,將其包裝在&#...;中,然後將結果連接在一起。

+0

做這項工作。謝謝。 – 7h1n0b1