0

我正在尝试从字符串中获取数字,但我一直在获取带有数字而不是单独的数字的完整字符串

$string = "stuff here with id=485&other=123";
preg_match('(id=\d+)',$string,$match);

上面的结果像 id=485 但我只想要 485

任何帮助将不胜感激。

4

2 回答 2

5

括号说明要收集什么。您还需要在两端使用分隔符

preg_match('/id\=(\d+)/',$string,$match);
print_r($match);

/* should be
0=>"id=485",
1=>"485"
*/

echo $match[1];

编辑:见神秘的答案,parse_str 很可能比 preg_match 快。大多数事情都是。

于 2013-02-13T16:50:28.410 回答
2
$string = "stuff here with id=485&other=123";

parse_str(strstr($string, 'id='), $output);

echo $output['id']; // 485

不使用正则表达式。

于 2013-02-13T16:56:46.400 回答