« PrettyURLs | Main | Rake me slugs! »

HTML-Tags aus einem String entfernen mittels regulärem Ausdruck [UPDATE]

Mein erster Kontakt mit Regulären Ausrücken: ich wollte - im Rahmen der neuen innoq-Webseite - aus einem String sämtliche HTML-Tags entfernen.

Bevor ich direkt nach einer fertigen Lösung suche, dachte ich mir probierst du das mal selbst aus, und dabei bin ich auf 2 ganz nützliche Online-Tools gestoßen, die einem helfen Regular Expressions zu überprüfen:

  1. reWork: Mit diesem Tool kann man einen regulären Ausdruck gegen einen bestimmten Text Prüfen. Sehr nützlich, vor allem, weil er auch für gewisse Aufgaben direkt den Code ausspuckt. So gibt er Ruby-, Javascript-, Python- und PHP-Code aus und liefert auf Wunsch auch direkt die Syntax für eine spezielle Aufgabe aus, wie z.B. das ersetzen eines Teilstrings.

  2. txt2re: Hiermit kann man quasi umgekehrt vorgehen und sich seinen regulären Ausdruck für einen bestimmten Textpattern zusammenstellen. Nicht so schick, und auch nicht wirklich vollständig, aber es hilft einem einen Ansatz zu finden, wenn man eigentlich keine Ahnung hat.

Naja, nach einiger Rumprobiererei hab ich's leider nicht ganz hinbekommen einen passenden regulären Ausdruck zu finden, obwohl die Lösung, die ich dann genommen habe sehr einleuchtend ist:

<[^>]*>

Also mein Code-Schnipsel sieht dann so aus:

item.markdown_content.gsub(/<[^>]*>/, '').to(250)

[UPDATE]: Ich kann auch wieder ein Cheat Sheet von Dave Child empfehlen: http://www.ilovejackdaniels.com/cheat-sheets/regular-expressions-cheat-sheet/

Comments (1)

Hey Daniel,

vielen Dank für den Artikel. Genau das was ich im Moment gesucht hab. Und dank deinem Blog auch schnell gefunden hab.

Gruß Jens

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About

DanielHi. I'm Daniel Pietzsch and this is my innoQ-Blog. I'm a 26y old student at FH Bochum and working student at innoQ.
In this blog I mainly write about the progress concerning my diploma thesis which will be an in-house application for innoQ based on Ruby on Rails, but some other (geek) stuff might appear here, too.

daniel [dot] pietzsch [alt-L] innoq [dot] com

I recommend

Categories

License

Creative Commons License This weblog is licensed under a Creative Commons License.
Powered by
Movable Type 3.31