Я пытаюсь использовать html5lib.sanitizer для очистки пользовательского ввода, как предложено в документах
Проблема в том, что я хочу полностью удалить плохие теги, а не просто убрать их (что в любом случае кажется плохой идеей).
Обходной путь, предложенный в патче здесь не работает должным образом (он сохраняет внутреннее содержимое <tag>content</tag>
).
В частности, я хочу сделать что-то вроде этого:
Введите:
<script>bad_thing();</script>
<style>* { background: #000; }</style>
<h1>Hello world</h1>
Lorem ipsum
Выход:
<h1>Hello world</h1>
Lorem ipsum
Есть идеи, как этого добиться? Я пробовал BeautifulSoup, но, похоже, он не работает хорошо, и lxml вставляет теги <p></p>
в очень странных местах (например, вокруг атрибутов src). Пока что html5lib кажется лучшим для этой цели, если бы я мог просто заставить его удалять теги, а не экранировать их.