seth: preg_replace - fehlersuche

Beitrag lesen

gudn tach!

$str = "test_-_mit_Fehler";
$str = preg_replace('=(.*)_-_(.*)=Uis','\1', $str);

ich bekomme als string nun "testmit_Fehler", obwohl nur "test" gewünscht wäre.

weisst du, was der U-modifier macht? an ihm in kombination mit dem zweiten .* liegt es.
die beiden anderen modifier sind hier uebrigens ebenfalls ueberfluessig.
gleiches gilt fuer die zweite klammerung.

also:
preg_replace('=(.*)_-_.*=','$1', $str);

prost
seth