gudn tach!
$test_1 = preg_replace("/(([0-9]{1,3})(,([0-9]{3}))*).([0-9]{2}\x80)/e","strtr('\1', ',', '.') . ',' . '\5'",$test);
huch, hab dein posting irgendwie uebersehen. die von mir gegebene loesung ist dasselbe in gruen; mit kleinen unterschieden:
1. wenn du etwas wert auf geschwindigkeit legst, empfehle ich dir die von mir genannte methode via _callback, da das i.a. von php verarbeitet wird. zumindest war das mal so, vielleicht wurde das mittlerweile verbessert.
2. das punkt-problem hast du noch immer nicht geloest. ein punkt muss bei regexp normalerweise mit backslash maskiert werden, um seine literale bedeutung zu erhalten. ansonsten bedeutet er "beliebiges zeichen (u.u. ausser zeilenumbruch)".
prost
seth