TOP -> 知る!
-- URL文字列分割 --
<?php
$query = "http://www.google.co.jp/search?num=100&hl=ja&newwindow=1&q=php%E3%81%A7%E4%BD%95%E3%81%8B%E3%82%92%E4%BD%9C%E3%82%8B&lr=lang_ja";
echo "<pre>";
echo "URLを分解(parse_url)<br>";
print_r(parse_url($query));
echo "分解したURLの「query」を分解(parse_str)<br>";
$input = parse_url($query);
parse_str($input['query'], $output);
print_r($output);
echo "</pre>";
echo "分解したquery中の「q」の文字コードをデコードする(mb_convert_encoding)<br>";
$qu = $output['q'];
echo "\$q = \"" . mb_convert_encoding($qu, "UTF8", "auto") . "\"";
?>
表示結果:
URLを分解(parse_url) Array
(
[scheme] => http
[host] => www.google.co.jp
[path] => /search
[query] => num=100&hl=ja&newwindow=1&q=php%E3%81%A7%E4%BD%95%E3%81%8B%E3%82%92%E4%BD%9C%E3%82%8B&lr=lang_ja
)
分解したURLの「query」を分解(parse_str) Array
(
[num] => 100
[hl] => ja
[newwindow] => 1
[q] => phpで何かを作る
[lr] => lang_ja
)
分解したquery中の「q」の文字コードをデコードする(mb_convert_encoding) $q = "phpで何かを作る"
-- 知ってるといいかも --
・parse_urlはURLを分解する。
・parse_strはURLの中のクエリーを分解する。
・mb_convert_encodingは文字コードを変更する。
上記の例では、$qを自動で認識してUTF8に変更しています。
|