Tach,
ich benötige einen regulären Ausdruck (PCRE) der den Inhalt von href-Attributen in einem XHTML-Quelltext findet. Zum Einsatz kommt preg_match_all(). Genauer gesagt sollen sämtlichen Ressourcen (intern wie extern gefunden werden - also alle Attribute die einen URI beinhalten) - wenn ich jetzt nix vergessen habe, sollte ich das mit folgenden abgedeckt sein:
src, href, longdesc, cite, classid, codebase, data, action, background und profile
Der Ausdruck soll den Inhalt ohne ggf. vorhandene Leerzeichen am Anfang oder Ende liefern.
<img src="http://example.com/" alt="" /> sollte damit genauso abgedeckt sein wie
<img src
= " http://example.com/ " alt="" />
~~~ - sprich unschöne tipperein die man wohl eher selten im Quelltext so findet, aber durchaus gültig sind
Aktuell hab' ich folgendes (Attribute sind vorerst drei drin) und es scheint zu funktionieren:
/(?:href|src|londesc)\s\*=\s\*"\s\*?(.+)\s\*"/U
Den i-Modifikator hab' ich gespart weil die Attribute ohnehin gleich geschrieben sein müssen.
Frage nun: hab' ich irgendetwas übersehen oder gibt's Verbesserungsvorschläge?