2012-05-16 48 views
1

我試圖從搜索引擎引用中獲取搜索查詢。大多數用q參數傳遞搜索查詢,但雅虎正在使用?p,所以我試圖使用switch語句,但無濟於事。以下是我有:使用PHP解析來自引用者的搜索查詢

<?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」 內交換機然後從雅虎搜索查詢正確傳遞。

回答

2

switch荷蘭國際集團在$se[1]但在你的情況下,字符串「雅虎」在$se[2] ..