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

dav*_*jhp 9 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是该查询字符串中的最后一个参数然后没有&之后.

谢谢.

dec*_*eze 23

parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $queries);
echo $queries['q'];
Run Code Online (Sandbox Code Playgroud)

参考文献:

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