preg_match - 仅提取数字

时间:2015-02-28 15:56:30

标签: php regex

我有一个像Results 1 - 20 of 400这样的字符串。

考虑到这个例子,我需要将120400变为3个不同的变量。

我尝试使用此代码但未成功:

preg_match('/\d{1,}/', $text, $array);

1 个答案:

答案 0 :(得分:1)

这应该适合你:

$text = "Results 1 - 20 of 400";
preg_match_all('/\d+/', $text, $array);
        //^^^^ Note here! 'preg_match_all' not 'preg_match' to get all matches! (Your regex would also work '/\d{1,}/')
print_r($array);

输出:

Array ( [0] => Array ( [0] => 1 [1] => 20 [2] => 400 ) )

有关preg_match_all()的详情,请参阅手册:http://php.net/manual/en/function.preg-match-all.php

从那里引用:

  

preg_match_all - 执行全局正则表达式匹配