【问题标题】:Parsing search query from referrer using PHP使用 PHP 解析来自引用者的搜索查询
【发布时间】:2012-05-16 05:06:37
【问题描述】:

我正在尝试从搜索引擎引荐中获取搜索查询。大多数使用 ?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] =&gt; au [1] =&gt; search [2] =&gt; yahoo [3] =&gt; com )

$sekeyword 为空,但是如果我在开关中将默认 $var 指定为“p”,那么来自 yahoo 的搜索查询将正确传递。

【问题讨论】:

    标签: php switch-statement http-referer


    【解决方案1】:

    您在$se[1] 上使用switching,但在您的情况下,字符串“yahoo”在$se[2] 中......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      • 2011-05-30
      • 2014-06-21
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      相关资源
      最近更新 更多