まずはparse_urlでURLをパースする。

$url = 'http://www.example.com/hoge.html?param1=foo&param2=bar';
$parse_url_arr = parse_url ( $url );

すると以下のように分割され、それぞれのキーを持つ配列が返される。

URLをパースしていろいろ取得する方法

さらにparse_strqueryをパースする。

parse_str ( $parse_url_arr['query'], $query_arr );

echo "scheme : " . $parse_url_arr['scheme'] . "<br />\n";
echo "host : " . $parse_url_arr['host'] . "<br />\n";
echo "path : " . $parse_url_arr['path'] . "<br />\n";
echo "query : " . htmlspecialchars ( $parse_url_arr['query'] ) . "<br />\n";
echo "param1 : " . $query_arr['param1'] . "<br />\n";
echo "param2 : " . $query_arr['param2'];

実行結果は以下の通り。

scheme : http
host : www.example.com
path : /hoge.html
query : param1=foo&param2=bar
param1 : foo
param2 : bar