1

我正在尝试从搜索引擎推荐中获取搜索查询。大多数使用 ?q 参数传递搜索查询,但是雅虎正在使用 ?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 为空,但是如果我在开关中将默认 $var 指定为“p”,则来自 yahoo 的搜索查询将正确传递。

4

1 回答 1

2

您正在继续switch$se[1]但在您的情况下,字符串“yahoo”在$se[2]..

于 2012-05-16T05:22:30.430 回答