Python: strip html aus text-Daten
Meine Frage ist leicht mit Bezug auf: Strip HTML aus strings in Python
Ich bin auf der Suche nach einem einfachen Weg, um Streifen HTML-code aus dem text. Zum Beispiel:
string = 'foo <SOME_VALID_HTML_TAG> something </SOME_VALID_HTML_TAG> bar'
stripIt(string)
Würde dann ergeben foo bar
.
Gibt es irgendein einfaches Werkzeug zum erreichen dieser in Python? Der HTML-code könnte verschachtelt werden.
- Ich denke, dass Sie vielleicht wollen, verwenden Sie die akzeptierte Antwort auf die Frage, die Sie verbunden - wie, was machst du anders?
- In dem Zusammenhang Frage, der user wollte stripIt('<HTML_TAG>foo</HTML_TAG>') ergeben foo, während in meinem Fall, ich will es zurück ".
- Recht - mein Fehler. Ich wollte nicht sehen, die Bearbeiten, um Ihre Frage, und dachte, dass
something
war der tag Sie wollte abgestreift. - ist "SOME_VALID_HTML_TAG" auf einen bestimmten tag? Wollen Sie der äußerste tag entfernt werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
gibt
Könnten Sie regex:
Allerdings würde ich lieber Hugh Bothwell ' s-Lösung, wie es wäre robuster als Reine regex.
Probieren Sie diese Lösung:
Edit: Dies funktioniert nur auf gültig verschachtelte tags, so zum Beispiel:
Wenn jemand hat dieses problem und arbeitet bereits mit der jinja templating-Sprache: Sie können den filter verwenden, den
striptags
Vorlagen und die Funktionjinja2.filters.do_striptags()
im code.Können Sie die Vorteile von HTMLParser durch überschreiben von Methoden entsprechend: