1

検索エンジンの紹介から検索クエリを取得しようとしています。ほとんどの場合、?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 からの検索クエリが正しく渡されます。

4

1 に答える 1

2

あなたはswitch続けて$se[1]いますが、あなたの場合、文字列「yahoo」は$se[2]..

于 2012-05-16T05:22:30.430 に答える