2010-06-14 32 views
3

我有這樣的代碼:PHP正則表達式 - 獲取所有數字

$string = "123456ABcd9999"; 
$answer = ereg("([0-9]*)", $string, $digits); 
echo $digits[0]; 

這個輸出 '123456'。我希望它輸出'1234569999'即。所有的數字。我怎樣才能做到這一點。我一直在嘗試很多不同的正則表達式的東西,但無法弄清楚。

回答

7

例如,您可以使用preg_replacepreg_replace("/[^0-9]/", "", $string)

14

首先,不要使用ereg(已棄用)。其次,爲什麼不能取代它:

$answer = preg_replace('#\D#', '', $string); 

注意\D\d倒數。所以\d匹配所有十進制數字字符(0-9),因此\D匹配\d不匹配的任何內容...