Mailinglisten-Archive |
Am 21.06.2005 um 13:52 schrieb Volker Hartmann:
[...]
>
> Smarty: {$post->getText()|regex_replace:"/(^<p>) (.*) (</p>$)/":"\$2"}
> sollte eigentlich
> preg_replace( "/(^<p>) (.*) (</p>$)/", "\$2",$string);
> entsprechen.
ich habe von Smarty keine Ahnung aber bei preg_replace müsste es so
heissen:
preg_replace( "/\<p\>(.*?)\<\/p\>/i", "\\1", $string);
Das ^ muss entweder ganz am Anfang stehen und sagt damit das der
Ausdruck
auf den String-Anfang zutreffen muss oder es verneint etwas, dann muss
es aber mit [] umfasst werden. Das $ wiederum steht nur am ende und
sagt das der Ausdruck bis ans ende des Strings zutreffe muss.
Wenn Du den / verwendest um den Ausdruck zu umfassen, dann musst du ihn
im Ausdruck ausslashen. Das gleiche gilt für < und > da dies auch
reservierte Zeichen sind. Das i was ich gesetzt habe bewirkt das nicht
auf gross und kleinschreibung geachtet wird.
--
Aron Schlesinger
php::bar PHP Wiki - Listenarchive