• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Link per preg_match zerlegen

Thomas-

New member
Hallo Leute, ich habe einen Link und möchte den in seine Bestandteile zerlegen.

$url='<a href="http://www.testurl.de" target="_blank"><img src="http://www.testurl.de/foto.gif" alt="alte Bilder" border="0"></a>';

Ich kenne mich leider nicht wirklich mit Reguläre Ausdrücken aus.
Hier mein Ansatz:
preg_match('~s*href="+(.+?)+"\s*src="+(.+?)"~s',$url, $result);

Mein Ziel wäre es ein Array zu haben.

print_r($result);

Array([0]=> href="http://www.testurl.de" [1]=> http://www.testurl.de [2]=> src="http://www.testurl.de/foto.gif" [3]=> http://www.testurl.de/foto.gif [4]=> alt="alte Bilder" [5]=> alte Bilder)

Gruß Tom
 
Naja, eigentlich muss das nicht sein. 1, 3, 5 würden auch ausreichen. Ich hatte vorher nur die url ausgelesen und da hatte ich dann 0 und 1 im Array. Aber wäre nicht wichtig.

Hier mal meine alte Abfrage.
preg_match('~href="+(.+?)"~s',$url, $result);

Ich habe fast den Eindruck, dass preg_match dies gar nicht kann, sondern ich wenn preg_match_all verwenden muss.

Denn diese Anfrage
preg_match_all('~"+(.+?)"~s',$url, $result);

erzeugt fast das gewünschte Ergebnis, nur hätte ich gern target und border nicht mit ausgelesen, was aber zur Zeit noch passiert.
 
Zuletzt bearbeitet:
preg_match_all('~(href|src|alt)="+(.+?)"~s',$url, $result);

Erzeugt im Grunde das gewünschte.

statt
Array([0]=> href="http://www.testurl.de" [1]=> http://www.testurl.de [2]=> src="http://www.testurl.de/foto.gif" [3]=> http://www.testurl.de/foto.gif [4]=> alt="alte Bilder" [5]=> alte Bilder)

habe ich
Array([0]=> Array ([0] => href="http://www.testurl.de" [1]=> src="http://www.testurl.de/foto.gif" [2]=> alt="alte Bilder") [1]=> Array([0]=> http://www.testurl.de [1]=> http://www.testurl.de/foto.gif [2]=> alte Bilder))

Was im Grunde aber noch schöner ist.
 
Zurück
Oben