2012-04-24 89 views
2

我想在一組數字之間加上空格preg_replace;用PHP正則表達式在一組數字之間添加空格

$numbers = '9000080';

所需的輸出; 900 00 800 123 987

我很困惑,在這一點上,我無法得到理想的輸出。

非常感謝您的幫助。

+5

你如何確定空間的位置?這聽起來更像是你對空間應該在哪裏有一個先入爲主的概念,在這種情況下'substr'(字符串分割)將是更好的選擇。正則表達式引擎是嚴重的矯枉過正/開銷,尤其是考慮到你沒有取代任何東西。 – Rudu 2012-04-24 13:59:10

+0

你說得對,只是用'substr'做了。正則表達式只是一行代碼。它只會讓人眼前一亮。 – Revenant 2012-04-24 14:05:23

回答

7

爲了您的具體的例子,這將做到這一點:

$numbers = '9000080'; 
$regex = '/(\\d{3})(\\d{2})(\\d{3})(\\d{3})(\\d{3})/'; 
$result = preg_replace($regex, '$1 $2 $3 $4 $5', $numbers); 
0

這會工作,但可以提煉! preg_replace('/ ^([0-9] {3})([0-9] {2})([0-9] {3})([0-9] {3})( [0-9] {3})$ /','$ 1 $ 2 $ 3 $ 4 $ 5',$ numbers);

相關問題