2011-10-24 99 views
0

我需要變換2-14到字符串(由空間劃分每個3號,即20000 => 20 0001400000 => 1 400 000PHP預浸替換致命情況

我的代碼:

$cena = '20000';

$cena = preg_replace('/\D+/g', '', $cena);

$cena = preg_replace('/\d(?=(?:\d{3})+(?!\d))/g', '$& ', $cena);

這個結果:

Warning: preg_replace() [function.preg-replace]: Unknown modifier 'g' in myfile.php on line xxx

有什麼不對?

+3

不使用的preg_replace,使用number_format() – 2011-10-24 19:09:29

+0

@Dagon一會兒要去嘗試 – drdarwin

回答

6
$number=1400000; 
$format = number_format($number, 0, '', ' '); 

echo $format; //1 400 000 
+0

很酷。謝謝 ;) – drdarwin

1

我假設你正在試圖做的使用g修改全局替換。 preg_replace不支持g修飾符,因此您得到的錯誤。

相反,preg_replace函數有一個可選的limit參數,其確定將要進行更換的最大數目。它默認爲-1,這意味着無限。換句話說,它已經在做你正在做的事情。

從手冊頁:

mixed preg_replace (mixed $pattern , mixed $replacement , 
        mixed $subject [, int $limit = -1 [, int &$count ]]) 
+0

AAH,現在很清楚! – drdarwin