2016-12-30 36 views
2

Допустим у нас есть строкаPython Преобразование строки в HTML полукокса эквивалентном

Bruce Wayne is Batman

Когда я преобразовать эту строку в HTML-символы, на выходе будет

Bruce Wayne is Batman

Я пытаюсь найти способ сделать это в python 2.7. Кто-нибудь может предложить, как это можно сделать?

Я искал все содержимое stackoverflow, и все ответы, которые я нашел, это как избежать специальных символов HTML. Я не хочу убегать от специальных символов, а конвертировать любые и все строки в свой эквивалент HTML. Хакер-аддон mozila firefox способен сделать это успешно, я хочу реализовать то же самое с помощью 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