Страницы

Поиск по вопросам

понедельник, 10 декабря 2018 г.

Как удалить все HTML-теги регулярным выражением?

Есть регулярное выражение (\<(/?[^>]+)>), которое оставляет HTML-тэги. Как наоборот удалить все тэги, оставив только текст?


Ответ

Так собственно её и можно использовать для чистки тегов, скормив в sub
В Python:
>>> import re >>> re.sub(r'(\<(/?[^>]+)>)', '', 'Текст с
тегами
') 'Текст с тегами'
В JavaScript:
>>> console.log('Текст с
тегами
'.replace(/(\<(\/?[^>]+)>)/g, '')) "Текст с тегами"
Только надо обязательно помнить, что никакое регулярное выражение не сможет правильно обработать сломанный html:
>>> line = '

>>>2 + 3 < 6
True
>> re.sub(r'(\<(/?[^>]+)>)', '', line) ' >>>2 + 3 True тарий -->И для такого дела лучше применять полноценные html-парсеры, а регулярки к html-коду не подпускать вообще

Комментариев нет:

Отправить комментарий