Regular Expression für Links und Bilder
Dominik Amon
- sonstiges
0 WauWau
Hallo!
Kennt jemand eine gute RegEx Bibliothek die unter anderem Match-Patterns für Hyperlinks und Bilder hat.
Ich möchte aus diesem HTML Code
...
<a href="bla.html">Mein Bla</a>
...
sowie
...
<a href="MeinBild.jpg"><img src="vorschau.jpg"></a>
...
einerseits
"bla.html" und "Mein Bla"
und andereseits
"MeinBild.jpg" und "vorschau.jpg" auslesen.
Da ich denke dass ich hier nicht der erste bin, der das will suche ich ganz allgemein nach einer guten Bibliothek für RegEx die unter anderem auch die Patterns wie oben genannt hat.
Hab mich selbst schon ein wenig damit herum geärgert, aber irgendwie wirkt das gleich so kryptisch dass es wahrscheinlich besser und einfacher auch geht :-)
mfg
dominik
Hallo Dominik,
Kennt jemand eine gute RegEx Bibliothek die unter anderem Match-Patterns für Hyperlinks und Bilder hat.
Wieso nicht selber bauen? Self ist die Devise ;-)
<a href="bla.html">Mein Bla</a>
/<a href="([^"]+)">([^<]+)</a>/i
;-)
<a href="MeinBild.jpg"><img src="vorschau.jpg"></a>
/<a href="([^"]+)"><img src="([^"]+)"></a>
Hab mich selbst schon ein wenig damit herum geärgert, aber irgendwie wirkt das gleich so kryptisch dass es wahrscheinlich besser und einfacher auch geht :-)
Nun, wenn du "nur" das wie du es oben aufgeführt hast, umsetzen willst, wirkt es keinenfalls kryptisch (ist aber andererseits auch Ansichtssache ;-). Aber wenn du z.B. willst, dass das gleiche auch noch bei
<a name="blo.php" href="bla.xml" title="bli.htm" class="blu-asp"><img id="sml" src="b.lub" title="a.gif" name="b.jpg" alt="c.bmp" /></a>
gefunden wird (das mit den Endungen ist nur ein Scherz... *scnr*), dann wird es evv. schon etwas kryptischer und komplizierter.
Hmm... und letztenendes, wenn du was schon-fertiges suchst, empfehle ich dir sehr die ganzen Kommentare beim PHP-Manual auf http://www.php.net. Da gibt es eine ganze Menge.
WauWau
Hallo WauWau
Wieso nicht selber bauen? Self ist die Devise ;-)
Da ich oft Seiten parse, die oft unsauber entwickelt wurden hab ich zugegebenermaßen etwas frust :( Bspweise könnte man Links auch so formulieren
<A href=x.html>xxx<a href='irgendwas.htm'>yyy</A>
d.h. beim ersten gibts kein End-Tag, was "egal" ist, weil der letzte Link geschlossen wird, dann gibts die Variante ganz ohne " und dann auch nur ' - Und dann geht das schon wieder nicht mehr *schluchz* :-( Hab desshalb nach einer RegEx gesucht die bereits all diese Grausamkeiten abdeckt. Eigentlich würde ich das ganze ja überhaupt nicht mit RegEx machen sondern mit einem SAX bzw. XML Dom Parser. Da sich aber viele Seiten trotz XML Make-Tidy Tool nicht in ein XML Format bringen lassen, such ich eben den Ausweg über RegEx...
trotzdem danke!
dominik