2010-06-14 4 views
3

У меня есть этот код:PHP RegEx - Получить все цифры

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

Это выводит '123456'. Я бы хотел, чтобы он выдавал '1234569999', т.е. все цифры. Как я могу это достичь. Я пробовал много разных вещей, но не могу понять.

ответ

7

Для этого можно использовать preg_replace, например preg_replace("/[^0-9]/", "", $string).

14

Во-первых, не используйте ereg (оно устарело). Во-вторых, почему бы не заменить его:

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

Обратите внимание, что \D является обратным \d. Таким образом, \d соответствует всем десятичным числовым символам (0-9), поэтому \D соответствует всем, что \d не соответствует ...

Смежные вопросы