phpbar.de logo

Mailinglisten-Archive

[php] preg_replace mit eingebauter IF-Abfrage?

[php] preg_replace mit eingebauter IF-Abfrage?

thomas at klf.de thomas at klf.de
Mit Sep 7 20:10:59 CEST 2005


Hallo,

obwohl das hier meine erste Mail an die Liste ist, muss ich gleich mal
in die Vollen gehen...  :-)

Ich habe, in Anlehnung an die ganzen PHP-gestützten Foren, an einem
Stück Code gesessen, daß mir einen [QUOTE] in einen passenden HTML-Code
umwandelt. Darüber hinaus soll die Quelle des Zitats [QUOTE=PHPbar.de]
über dem Text erscheinen, also im Stile von "Zitat von PHPbar.de".

 $string = preg_replace("/\[QUOTE=?([A-Za-z0-9 ]*)?\]/i",  "<div
class=\"quote\">$1:</ br>", $string);

Es funktioniert an sich auch wie es soll. Nur kann ich hinter die
Referenz im zweiten Teil keinen Zeilenumbruch oder Doppelpunkt machen,
weil der bei KEINEM Treffer ja auch dort erscheint. Wenn also jemand
nur [QUOTE] im Quelltext stehen hat, bekäme ich nach dem $1 auch einen
Zeilenumbruch, obwohl es ja keine Quellenangabe gibt.

Kann man im zweiten Teil von preg_replace() etwas einbauen, was einer
IF-Abfrage gleichkommt? Also Text ersetzen je nachdem, ob $1 leer ist
oder nicht? Oder muss ich hierfür zwei separate preg_replaces machen?

(hinter dem $1 geht es im Moment mal noch nicht weiter, weil ich den
Abschluss-Tag in eine zweite Abfrage geschrieben habe - später zieh ich
die dann wohl zusammen)

Danke für alle Ideen oder Anregungen  :-)


  ..:://  Thomas



php::bar PHP Wiki   -   Listenarchive