2012-01-30 67 views
2

自从我编写了一些硬编码(自从11年11月的年底考试开始)之后,我一直在思考昨天的主题内容 - 您如何收集输入到Google中的搜索字词/ Yahoo/Bing等,并显示在您网站的某个页面上,例如“您已经为搜索词'Stack Overflow Programming'找到了123个结果,请浏览下面的结果”。显示传入搜索字词的PHP脚本 - 你怎么做?

我已经看到这很多洪流网站和元搜索引擎。我已经完成了多年的PHP编程,但是这个我不确定。我在想代码中的某处可能需要GET ['search']查询。我会将找到的所有结果/链接重定向到单个URL(我可以通过.htaccess进行操作),并在新窗口中打开“找到”链接。

我已经尝试过在谷歌搜索这样的东西,但想不到一个足够短,足够紧的搜索词,会产生最好的结果。是否可以使用Google/Bing/Yahoo API并稍微操作它们以获得期望的结果?一些指导将是很好的:)。

欢呼声,并提前致谢!

+0

看引荐并提取'q'参数。 – alex 2012-01-30 01:46:13

回答

1

您可以通过阅读HTTP Referer标题(是的,拼写错误)来做到这一点。

这完全在用户的控制之下 - 他们可以让它说出他们喜欢的任何东西。但是,如果他们使用未修改的浏览器并且来自非SSL的Google搜索页面,那么您会看到他们用来搜索Google的URL作为源。该网址包含查询字符串,您可以从中提取搜索字词。

+0

我一直认为拼写与英国人有关,但我猜不是。 :-D http://cyrilmazur.com/2010/05/referer-or-referrer.html – Brad 2012-01-30 01:53:11

+0

嗨Borealid,完美的作品:)。我总是知道它必须对HTTP引用者做些什么,也许我只是在想这个问题比现在更复杂。将使用此并做一些调整:)。 – Rob 2012-01-30 01:55:22

0
if(isset($_SERVER['HTTP_REFERER'])) { 
    $referal = $_SERVER["HTTP_REFERER"] ; 
    $referal = urldecode($referal); 
    $referal = str_replace("www.","",$referal); 
    $referal = str_replace("http://","",$referal); 
    $PecahReferal = explode("/", $referal); 
    $searchEngine = $PecahReferal[0] ; 
    /*complete your code*/ 
} 

访问http://officialyk.blogspot.co.id/2012/04/php-seo-part-ii-membuat-scripts.html更多细节