PHP - 如何从$ _SERVER ['HTTP_REFERER']获取参数值?

时间:2010-11-30 02:27:40

标签: php

在PHP应用程序中,$ _SERVER ['HTTP_REFERER']具有以下值:

http://www.google.com/aclk?sa=l&ai=CPWNSJV30TK{snip}&num=2&sig=AGiWqtxY{snip}
&adurl=http://www.jumpfly.com&rct=j&q=adwords&cad=rja

我的问题是提取q值的正确方法是什么?

我应该搜索q的位置,然后搜索下一个&的位置,然后取它们之间的子串?这似乎有点不专业,因为如果有一天q是该查询字符串中的最后一个参数然后没有&之后。

谢谢。

3 个答案:

答案 0 :(得分:21)

parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $queries);
echo $queries['q'];

参考文献:

http://php.net/parse_url
http://php.net/parse_str

答案 1 :(得分:5)

答案 2 :(得分:1)

您可以使用parse_url()。从那里,将查询拆分为&