3
http://www.example.com?id=05

或者

http://www.example.com?id=05&name=johnny

这是一个字符串。我想从中获得价值$id

它的正确模式是什么?

4

2 回答 2

14

你不需要正则表达式(除非你有充分的理由,否则你不应该在未来直接跳到正则表达式)。

使用parse_url()with PHP_URL_QUERY,它检索查询字符串。然后将其与parse_str().

$querystring = parse_url('http://www.mysite.com?id=05&name=johnny', PHP_URL_QUERY);
parse_str($querystring, $vars);

echo $var['id'];
于 2012-07-29T05:44:15.443 回答
10

@PhpMyCoder 的解决方案非常完美。但是如果你绝对需要使用 preg_match (虽然在这种情况下完全没有必要)

$subject = "http://www.mysite.com?id=05&name=johnny";
$pattern = '/id=[0-9A-Za-z]*/'; //$pattern = '/id=[0-9]*/'; if it is only numeric.
preg_match($pattern, $subject, $matches);
print_r($matches);
于 2012-07-29T05:43:02.693 回答