1
我想使用某人用来查找我的页面的查询,这些查询页面位于引用页面$ GET _ ['q']的URL中(对于yahoo $ GET_ [ 'p'])。我如何使用这些?我想要的东西像$ query = REFERRING PAGE($ GET _ ['q']),但我无法弄清楚这种说法。如何从引用搜索引擎获取查询信息
我想使用某人用来查找我的页面的查询,这些查询页面位于引用页面$ GET _ ['q']的URL中(对于yahoo $ GET_ [ 'p'])。我如何使用这些?我想要的东西像$ query = REFERRING PAGE($ GET _ ['q']),但我无法弄清楚这种说法。如何从引用搜索引擎获取查询信息
您正在搜索的信息是$_SERVER['HTTP_REFERER']
例如可从网页来使用此网址:http://tests/temp/temp-2.php?q=test+glop
,这段代码部分:
var_dump($_SERVER['HTTP_REFERER']);
给出:
string 'http://tests/temp/temp-2.php?q=test+glop' (length=40)
您可以使用parse_url
从该U获取查询字符串RL:
$query = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY);
var_dump($query);
将让你:
string 'q=test+glop' (length=11)
现在,您可以分析查询字符串parse_str
;验证码:
$params = array();
parse_str($query, $params);
var_dump($params);
会得到你:
array
'q' => string 'test glop' (length=9)
最后,您可以检查您感兴趣的参数是否是该数组中:
if (isset($params['q'])) {
var_dump($params['q']);
}
会给我们,在这个例子中:
string 'test glop' (length=9)
的Et瞧;-)
只是注意,Referer由客户端,这意味着发:
+1:非常好的答案。还值得指出的是,它确实在HTTP的上下文中被拼写为“引用者”。 8-) – RichieHindle 2009-09-22 21:37:31
谢谢!呃,阅读你的评论,我首先虽然“哦,我拼写错了吗?” ^^在我们的日常工作中有一件更有趣的事情^^ – 2009-09-22 21:39:49
恐怕我没有跟上。如果我说: $ query = $ _SERVER ['HTTP_REFERER']; 然后$ query =完整的google地址。如果我说: $ query = parse_url($ _ SERVER ['HTTP_REFERER'],PHP_URL_QUERY); var_dump($ query); 然后$查询没有价值。我是否需要包含var_dumps或仅用于我的教育? – 2009-09-22 22:07:33