検索エンジンの紹介から検索クエリを取得しようとしています。ほとんどの場合、?q パラメータを使用して検索クエリを渡しますが、yahoo は ?p を使用しているため、switch ステートメントを使用しようとしていますが、役に立ちません。ここに私が持っているものがあります:
<?php
$parse = parse_url($_SERVER["HTTP_REFERER"]);
$se = $parse["host"];
$raw_var = explode("&", $parse["query"] );
foreach ($raw_var as $one_var) {
$raw = explode("=", $one_var);
$var[$raw[0]] = urldecode ($raw[1]);
}
$se = explode (".", $se);
switch ($se[1]) {
case "yahoo":
$sekeyword = $var["p"];
break;
default:
$sekeyword = $var["q"];
}
print_r ($se);
echo "<br>";
echo "search query is: $sekeyword";
?>
これが私が見ているものです:
$se =Array ( [0] => au [1] => search [2] => yahoo [3] => com )
$sekeyword は null ですが、スイッチ内でデフォルトの $var を "p" として指定すると、yahoo からの検索クエリが正しく渡されます。