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

また

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

これは文字列です。そして、そこから価値を引き出したいと思います$id

それの正しいパターンは何ですか?

4

2 に答える 2

14

正規表現は必要ありません(そして、正当な理由がない限り、将来、正規表現に直接ジャンプするべきではありません)。

クエリ文字列を取得する、とともに使用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'];
于 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 に答える