2013-07-23 65 views
1

我想從字符串中提取數字,該字符串就像1,239 peoples。我需要從上面的字符串輸出1239。我用來提取這個數字以下的廉價方法....從字符串中提取格式化的數字

$text='1,239 peoples'; 
$text=str_replace(',','',$text); 
preg_match_all('!\d+!', $text, $matches); 
echo $matches[0][0]; 

有FO提前that..thanks任何更好的解決方案...

+0

'preg_match_all(,str_replace函數( '' ,'',$ text),$ matches);'。 :D –

回答

2

可以替代一切,是不是在數沒有任何東西的字符串,它給你一個只有數字的字符串。

$string = preg_replace("/[^\d]/", "", $string); 
echo $string; 
+0

爲什麼不使用'\ D +'來代替? –

+0

感謝您的回答...現在它工作:) –

0
//This will replace anything that is not a number with a blank string. 
$number = preg_replace("#[^0-9]*#", "", "1,123"); 

Becareful與 「1,233.90」 雖然。

1

一個更安全的方法是,你想先提取物,後,只有後給它很好的格式,例如: '!\ d +'

if (preg_match('~\d+(?:,\d+)*(?:\.\d+)?~', $string, $match)) 
    $result = str_replace(',', '', $match[0]);