Regulärer Ausdruck für Ersetzung
Frankie
- php
Hallo Leute,
ich habe in einem String mehrere Teile in der Form [nummer]123456[/nummer]. Nun möchte ich alle diese Teile ersetzen durch einen img-Tag mit der jeweiligen Nummer als Bildname. Die Nummer zwischen den pseudotags ist immer 6 Stellen lang.
Das kann ich doch sicherlich geschickt mit preg_replace machen, oder?
Leider habe ich bisher keine Ahnung von regulären Ausdrücken.
Wer kann mir weiterhelfen?
Danke schon mal im voraus,
Frankie
hi,
ich habe in einem String mehrere Teile in der Form [nummer]123456[/nummer]. Nun möchte ich alle diese Teile ersetzen durch einen img-Tag mit der jeweiligen Nummer als Bildname. Die Nummer zwischen den pseudotags ist immer 6 Stellen lang.
Das kann ich doch sicherlich geschickt mit preg_replace machen, oder?
ja.
probier mal
preg_replace("![nummer]([0-9]+)[/nummer]!", "<img src="$1.jpg" alt="...">", $deinstring);
(ohne garantie.)
gruss,
wahsaga
Hi Wahsaga,
das funktioniert leider nicht. Wo ist denn die logische Verbindung zwischen der Zahl und dem $1?
Hi,
das funktioniert leider nicht.
wahsaga hat ja auch keine Garantie gegeben ;-)
So sollte es klappen:
preg_replace("![nummer]([0-9]+)[/nummer]!", "<img src="\1.jpg" alt="...">", $deinstring);
Wo ist denn die logische Verbindung zwischen der Zahl und dem $1?
In diesem Fall bezieht sich "\1" auf den ersten gefundenen Ausdruck, der in Klammern angegeben wurde, hier also "[0-9]+". Siehe auch http://www.dclp-faq.de/ch/ch-regexp.html für mehr Informationen über RegExps.
Gruß,
Andreas.