从引用URL中提取关键字


Extract keywords from referrer URL

如今谷歌的URL结构似乎有所不同。因此,很难从它们中提取引用关键字。这里有一个例子:

http://www.google.co.uk/search?q=jquery+post+output+46&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a#pq=jquery+post+output+46&hl=en&cp=30&gs_id=1v&xhr=t&q=jquery+post+output+php+not+running&pf=p&sclient=psy-ab&client=firefox-a&hs=8N5&rls=org.mozilla:en-US%3Aofficial&source=hp&pbx=1&oq=jquery+post+output+php+not+run&aq=0w&aqi=q-w1&aql=&gs_sm=&gs_upl=&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=bdeb326aa44b07c5&biw=1280&bih=875

我执行的搜索实际上是"jquery post-output php未运行",所以第一个"q="不包含完整的搜索。第二个是。我想写一个总是提取最后一个"q="的脚本,但我不确定谷歌的URL是否总是最后一个完整的搜索。任何人都有这方面的经验。

您可以使用parse_url()parse_str()urldecode()来完成此操作,其中$str是引用字符串:

$fragment = parse_url($str, PHP_URL_FRAGMENT);
parse_str($fragment, $arr);
$query = urldecode($arr['q']); // jquery post output php not running