2010-06-14 58 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不匹配的任何内容...