よく使うものなのに、いつまでとっても暗記できていないので、今後のためにメモがてら、PHPのparse_urlを使って、URLを分解してクエリをそれぞれ取得する方法をメモしておきます。パースするってやつですね。
parse_urlでまず書く部位ごとに分解する
サンプルとして以下urlを使ってみます。いろんな要素を入れた欲張りセットなurlです。
早速parse_urlで分離してみます。
$url='http://www.hoge.com:80/dir1/dir2/test.php?prm=aaa&sort=bbb';
$tmp=parse_url($url);
var_dump($tmp);
////以下、実行結果
array(5) {
["scheme"]=>
string(4) "http"
["host"]=>
string(12) "www.hoge.com"
["port"]=>
int(80)
["path"]=>
string(19) "/dir1/dir2/test.php"
["query"]=>
string(16) "prm=aaa&sort=bbb"
}
次はクエリ部分をさらに分解する
最初の分解した部分の中にある「query」の中が今回取り出したいゴールなので、その部分をさらに以下のように分解してみます。
//$tmp["query"] を分解した結果を、$pairsにいれる
parse_str($tmp["query"], $pairs);
var_dump($pairs);
////実行結果
array(2) {
["prm"]=>
string(3) "aaa"
["sort"]=>
string(3) "bbb"
}
これで各パラメータのデータを取り出すことができました。
ひとまずここまで