Mailinglisten-Archive | 
hi,
>habe jetzt den /U ungreedy modifier gefunden. folgendes regexp muesste
>den string $string = "ABaA"
>umwandeln in $string ="0BaA":
>
>$final = preg_replace("/A/Ui","0",$string);
>
>das tut er aber nicht.
>ich bekomme $string = "0B00".
>der Ungreedy-Modifier scheint ueberhaupt nicht zu funken.
das ist auch logisch so, weil preg_replace() in der form wie
du es verwendest alle vorkomnisse des patterns ersetzt. der
U modifier hat damit nichts zu tun. wenn du begrenzen willst,
wie viele vorkomnisse ersetzt werden sollen, dann mußt den 
optionalen 4. paramter von preg_replace() verwenden. siehe
http://www.php.net/manual/en/function.preg-replace.php
außerdem wird in deinem pattern "/A/Ui" durch den i modifier
signalisiert, daß groß/kleinschreibung ignoriert wird. also
matcht dein ausdruck sowohl "A" als auch "a".
mit 
$final = preg_replace("/A/", "O", $string, 1);
sollte es klappen.
florian.
    php::bar PHP Wiki - Listenarchive