phpbar.de logo

Mailinglisten-Archive

[php] preg_replace mit eingebauter IF-Abfrage?

[php] preg_replace mit eingebauter IF-Abfrage?

Sebastian Mendel lists at sebastianmendel.de
Mit Sep 7 14:30:39 CEST 2005


thomas at klf.de wrote:

> 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);

</ br> ???


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

preg_match() kommt wohl nicht in Frage?


if ( preg_match( "/\[QUOTE=([A-Za-z0-9 ]+)\]/i", $string, $found ) ) {
     $quoted_text = $found[1] . ':<br />' . $quoted_text;
}

$quoted_text = '<div class="quote">' . $quoted_text . '</div>';

-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive