Hallo liebes Forum!
ich weiß, das wird vielleicht dumm klingen, aber ich sitze schon den ganzen tag an einem simplen problem.
ich habe einen großen string, der jede menge HTML code enthält.
aus dem möchte ich, für alle img-tags die src anpassen.
z.B. aus
<img alt="lalala" src="images/a.gif" title="link" width="20px">
soll
<img alt="lalala" src="http://localhost/a.gif" title="link" width="20px">
werden.
Aber das soll ach funktionieren, wenn aus:
<Img alt="lalala" title="link" height="10" SRC="wichtig/mein/images/b.gif" width="20px">
werden soll:
<Img alt="lalala" title="link" height="10" SRC="http://localhost/b.gif" width="20px">
d.h. es darf nicht case sensitive sein -- im endeffekt möchte ich für alle bilder den src auf einen und denselben ordner bringen.
Ich habe mich zunächst mit regulären ausdrücken probiert, um überhaupt mal an den src teil heranzukommen.
Das habe ich geschafft mit:
$pat = "/\< *[img][^\>]*[src] *= *[\"\']{0,1}([^\"\'\ >]*)/i";
preg_match_all($pat,$inhalt, $matches);
wobei eben in $inhalt der HTML code ist, also etwa:
$inhalt = "<p>en wnig text und dann ein bild und noch<Img alt=\"lalala\" title=\"link\" height=\"10\" SRC=\wichtig/mein/images/b.gif\" width="20px\"> ein wenig text und <b>mehe</b> und noch ein <img alt=\"lalala\" src=\"images/a.gif\" title=\"link\" width=\"20px\"></p>";
wenn ich diesen regex anwende, dann erhalte ich in matches in zweidimensionales array, wobei $matches[1][$i] jeweils den src wert enthält (das $i ist eine Zählvariable).
Hier bin ich quasi stecken geblieben...das muss doch einfacher gehen.
Kann ich nicht direkt die ersetzung machen?
Wäre echt toll, wenn mir jemand helfen kann!
Beste Grüße
H. Siebert
ich weiß, das wird vielleicht dumm klingen, aber ich sitze schon den ganzen tag an einem simplen problem.
ich habe einen großen string, der jede menge HTML code enthält.
aus dem möchte ich, für alle img-tags die src anpassen.
z.B. aus
<img alt="lalala" src="images/a.gif" title="link" width="20px">
soll
<img alt="lalala" src="http://localhost/a.gif" title="link" width="20px">
werden.
Aber das soll ach funktionieren, wenn aus:
<Img alt="lalala" title="link" height="10" SRC="wichtig/mein/images/b.gif" width="20px">
werden soll:
<Img alt="lalala" title="link" height="10" SRC="http://localhost/b.gif" width="20px">
d.h. es darf nicht case sensitive sein -- im endeffekt möchte ich für alle bilder den src auf einen und denselben ordner bringen.
Ich habe mich zunächst mit regulären ausdrücken probiert, um überhaupt mal an den src teil heranzukommen.
Das habe ich geschafft mit:
$pat = "/\< *[img][^\>]*[src] *= *[\"\']{0,1}([^\"\'\ >]*)/i";
preg_match_all($pat,$inhalt, $matches);
wobei eben in $inhalt der HTML code ist, also etwa:
$inhalt = "<p>en wnig text und dann ein bild und noch<Img alt=\"lalala\" title=\"link\" height=\"10\" SRC=\wichtig/mein/images/b.gif\" width="20px\"> ein wenig text und <b>mehe</b> und noch ein <img alt=\"lalala\" src=\"images/a.gif\" title=\"link\" width=\"20px\"></p>";
wenn ich diesen regex anwende, dann erhalte ich in matches in zweidimensionales array, wobei $matches[1][$i] jeweils den src wert enthält (das $i ist eine Zählvariable).
Hier bin ich quasi stecken geblieben...das muss doch einfacher gehen.
Kann ich nicht direkt die ersetzung machen?
Wäre echt toll, wenn mir jemand helfen kann!
Beste Grüße
H. Siebert
Kommentar