phpbar.de logo

Mailinglisten-Archive

[php] preg_replace

[php] preg_replace

Mathias Gloss mgloss at amadeus.net
Mon Feb 9 12:55:30 CET 2004


Aloha,




> ich habe mir mittlerweile den Wolf gegoogelt und auch im Archiv gesucht,
> aber leider nichts gefunden, was mir weiterhilft. Daher frage ich jetzt
> hier.

.... tja, das Problem ist oft, zu wissen wonach man suchen soll.

> Mein Problem:
> In einem eingelesenen Text kommen diverse Bausteine vor:
> {TEXT="STYLE"}Hier steht der Text{/TEXT}

> Das ganze soll dann umgewandelt werden in:
> <font style="STYLE">Hier steht der Text</font>

Das was du suchst, ist auf 
http://de2.php.net/manual/en/pcre.pattern.syntax.php
im Kapitel "Back References" beschrieben.

ungetestest müsste es in etwa so sein:

preg_replace("|\{([A-Z]+)=\"([A-Z]+)\}\"(.+?)\{/\1\}",
             "<font style=\"\$2\">\$3</font>",
             $text);

Im Suchausdruck sollten folgende Klammern folgendes finden:
1) Das Wort Text, damit es mit der Backreference \1 auch am 
   Ende des Suchmusters gefunden werden kann
2) Ist der STYLE
3) der Text zwischen {...} {/...}

Hoffe, daß das einigermaßen verständlich ist,

Mathias

PS: Und wer nochmal über meine Mailformatierung meckert, wird
    mit Lotus Notes verwendung nicht unter 1 Jahr bestraft ;-)



php::bar PHP Wiki   -   Listenarchive