php获取从百度、谷歌等搜索引擎进入网站关键词的方法

yipeiwu_com7年前PHP代码库

本文实例讲述了php获取从百度、谷歌等搜索引擎进入网站关键词的方法。分享给大家供大家参考。具体实现方法如下:

<?php
function search_word_from() {
 $referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';
 if(strstr( $referer, 'baidu.com')){ //百度
  preg_match( "|baidu.+wo?r?d=([^\\&]*)|is", $referer, $tmp );
  $keyword = urldecode( $tmp[1] );
  $from = 'baidu';
 }elseif(strstr( $referer, 'google.com') or strstr( $referer, 'google.cn')){ //谷歌
  preg_match( "|google.+q=([^\\&]*)|is", $referer, $tmp );
  $keyword = urldecode( $tmp[1] );
  $from = 'google';
 }elseif(strstr( $referer, 'so.com')){ //360搜索
  preg_match( "|so.+q=([^\\&]*)|is", $referer, $tmp );
  $keyword = urldecode( $tmp[1] );
  $from = '360'; 
 }elseif(strstr( $referer, 'sogou.com')){ //搜狗
  preg_match( "|sogou.com.+query=([^\\&]*)|is", $referer, $tmp );
  $keyword = urldecode( $tmp[1] );
  $from = 'sogou'; 
 }elseif(strstr( $referer, 'soso.com')){ //搜搜
  preg_match( "|soso.com.+w=([^\\&]*)|is", $referer, $tmp );
  $keyword = urldecode( $tmp[1] );
  $from = 'soso';
 }else {
  $keyword ='';
  $from = '';
 }
 return array('keyword'=>$keyword,'from'=>$from);
}
//以下为测试
//在搜索引擎搜索个关键词,进入网站
$word = search_word_from();
if(!empty($word['keyword'])){
 echo '关键字:'.$word['keyword'].' 来自:'.$word['from'];
}
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

php设计模式之委托模式

委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式是一项基本技巧,许多其他的模式,如状态模式、策略模...

利用curl 多线程 模拟 并发的详解

首先,先了解下 php中的curl多线程函数:复制代码 代码如下:# curl_multi_add_handle# curl_multi_close# curl_multi_exec#...

二招解决php乱码问题

二招解决php乱码问题

php网页出现乱码一般是在建立数据库时用的编码和php网页的编码不同造成的, 用phpmyadmin建立的数据库如果你不指定编码他默认是latin1_swedish_ci 编码,既瑞典语...

php根据一个给定范围和步进生成数组的方法

这里给定开始和结束值,再给定一个步进值,就可以生成一个等差数组。 function array_range($from, $to, $step=1){ $array = arra...

PHP中的命名空间详细介绍

概述 PHP对于命名空间的支持,经历了一段艰难的旅程。幸运的是,PHP从5.3开始引入了命名空间。自从PHP引入了命名空间,PHP代码的适用结构也得到了大大的改善。许多编程语言早就有了命...