Frankie: Regulärer Ausdruck für Ersetzung

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

  1. 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

    1. Hi Wahsaga,

      das funktioniert leider nicht. Wo ist denn die logische Verbindung zwischen der Zahl und dem $1?

      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.