http://www.example.com?id=05
或
http://www.example.com?id=05&name=johnny
这是一个字符串。我希望从中获得$id
的值。
它的正确模式是什么?
答案 0 :(得分:12)
你不需要正则表达式(除非你有充分的理由,否则你不应该在未来直接跳到正则表达式。)
将parse_url()
与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'];
答案 1 :(得分:8)
@ 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);