Tobias Kloth: str_replace

Beitrag lesen

Hallo Mark,

$neu = preg_replace("/".$suchwort."/i",$ersatzwort,$string);
fehlermeldung: Unknown modifier '<' in /...........

in welcher Zeile?

in der Doku (->http://de.php.net/preg_replace) wird jeweils ein Parameter in einer Variablen zusammengebaut und diese dann in die Funktion eingesetzt. Ich habe es mal etwas umgebaut, so funktioniert es:

$tag = 'center';
 $string = '<Center bla="nix">Hallo</CenTer>';
 $suchwort = '=<(/?)'.$tag.'(.*?)>=i';
 $ersatzwort = "<$1".$tag."$2>";
 $neu = preg_replace($suchwort,$ersatzwort,$string);

Durch das (/?) und das $1 wird ein / wieder eingesetzt, wenn einer vorhanden war. Das (.*?) (mit dem $2) sorgt dafür, dass eventuell vorhandene Attribute mit übernommen werden. In $tag kannst du das Element in der gewünschten Schreibweise eingeben.

Grüße aus Nürnberg
Tobias

--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|