php中获取网站访客来源的关键词方法,收集了

<?php

class keyword{

public function getKeyword($referer){
if(strpos($referer,"http://www.baidu.com")> -1 ){
$keyword = $this->getbaidukeyword($referer);
}else if(strpos($referer,"http://www.google.com")> -1 ){
$keyword = $this->getgooglekeyword($referer);
}else if(strpos($referer,"http://www.soso.com")> -1 ){
$keyword = $this->getsosokeyword($referer);
}else if(strpos($referer,"http://www.sogou.com")> -1 ){
$keyword = $this->getsogoukeyword($referer);
} return $keyword;
} //由来路取得百度关键词
private function getbaidukeyword($str){
$s = strpos($str,'wd=');
if($s>-1){
$str = substr($str,$s+3);
$e = strpos($str,'&');
if($e>-1){
$str = substr($str,0,$e);
}
$str = rawurldecode($str);
}
return $str;
}
//获得谷歌关键词
private function getgooglekeyword($str){
$s = strpos($str,'&q=');
if($s>-1){
$str = substr($str,$s+3);
$e = strpos($str,'&');
if($e>-1){
$str = substr($str,0,$e);
}
$str = rawurldecode($str);
}
return $str;
}
//获得SOSO关键词
private function getsosokeyword($str){
$s = strpos($str,'?w=');
if($s>-1){
$str = substr($str,$s+3);
$e = strpos($str,'&');
if($e>-1){
$str = substr($str,0,$e);
}
$str = rawurldecode($str);
}else{
$s = strpos($str,'&w=');
if($s>-1){
$str = substr($str,$s+3);
$e = strpos($str,'&');
if($e>-1){
$str = substr($str,0,$e);
}
$str = rawurldecode($str);
}
}
return $str;
}
//获得sogou关键词
private function getsogoukeyword($str){
$s = strpos($str,'query=');
if($s>-1){
$str = substr($str,$s+6);
$e = strpos($str,'&');
if($e>-1){
$str = substr($str,0,$e);
}
$str = rawurldecode($str);
}
return $str;
} }
?>

php中获取网站访客来源的关键词方法的更多相关文章

  1. XSS结合JSONP获取网站访客社交账号信息

    我在本地环境搭建了一个WordPress网站,并在该网站中植入JavaScript文件.如果访客在浏览网站时登录了百度账号,该js文件能够利用JSONP获取网站访客的百度账号信息. 具体情况如下: 1 ...

  2. php实现网站访客数量统计的方法(简单实现,不能防刷新)

    方法一: <?php function Counter()//定义函数 { $five = "00000";//声明变量,$five,$four等变量表示零的个数,放在数字前 ...

  3. PHP实现网站访客来访显示访客IP&浏览器&操作系统

    PHP实现网站访客来访显示访客IP&浏览器&操作系统 代码 function getOs() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { ...

  4. IOS中获取各种文件的路径介绍及方法

    IOS中获取各种文件的目录路径的方法 技术交流新QQ群:414971585 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. docum ...

  5. JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...

  6. PHP中获取文件扩展名的N种方法

    PHP中获取文件扩展名的N种方法 从网上收罗的,基本上就以下这几种方式: 第1种方法:function get_extension($file){substr(strrchr($file, '.'), ...

  7. QT中获取选中的radioButton的两种方法(动态取得控件的objectName之后,对名字进行比较)

    QT中获取选中的radioButton的两种方法   QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioBu ...

  8. .net core 和 WPF 开发升讯威在线客服系统:使用本地IP数据库实现访客来源快速定位,支持国外

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 免费使用 & 私有化部署:https://kf.shengxun ...

  9. 驱动中获取PsActiveProcessHead变量地址的五种方法也可以获取KdpDebuggerDataListHead

    PsActiveProcessHead的定义: 在windows系统中,所有的活动进程都是连在一起的,构成一个双链表,表头是全局变量PsActiveProcessHead,当一个进程被创建时,其Act ...

随机推荐

  1. [Jobdu] 题目1499:项目安排

    题目描述: 小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个项目后,拿到报酬都是不同的.由于小明马上就要硕士毕业了,面临着买房.买车.给 ...

  2. CCEaseElasticOut调整速度和振幅

    pSprite->setAnchorPoint(CCPoint(,)); pSprite->setPosition(CCPoint(,)); CCFiniteTimeAction* pAc ...

  3. 149. Best Time to Buy and Sell Stock【medium】

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  4. 【快速查阅】SQLPLUS连接ORACLE

    使用SQLPLUS连接ORACLE常用的有两种方式. 一.简易方式 sqlplus 用户名/密码@IP或主机名:端口/数据库服务名称 二.预先配置TNSNAMES的方式 在“%ORACLE_HOME% ...

  5. nrm 的使用

    我们介绍过cnpmjs.org和淘宝 npm 两个 NPM 镜像.除此之外,还有一些国外的 NPM 镜像.不同地区访问不同的镜像速度可能有差异,因此有时候需要切换 NPM 镜像.相比每次切换时都手动指 ...

  6. java.net.SocketException: Software caused connection abort: socket write erro

    场景:接口测试 编辑器:eclipse 版本:Version: 2018-09 (4.9.0) testng版本:TestNG version 6.14.0 执行testng.xml时报错信息: 出现 ...

  7. gradle本地文件仓库 (52.6.5. Flat directory repository)

    If you want to use a (flat) filesystem directory as a repository, simply type: Example 52.32. Flat r ...

  8. iOS真机调试出现Development cannot be enabled while your device is locked.

    手机升级到iOS 10之后,运行真机出现了Development cannot be enabled while your device is locked. 这里是你对这台电脑设置了不信任: 解决方 ...

  9. Redis学习之(二)java运用

    都1.首先,如果要在java运用的话,就需要引入对应的jar包 https://pan.baidu.com/s/1Hu1mUX5XoE_HmUEFlU3XBg 2.还有一点注意的就是,我在使用JDK8 ...

  10. [状态机]嵌入式设计模式:有限状态自动机的C语言实现

    转自:http://www.cnblogs.com/autosar/archive/2012/06/22/2558604.html 状态机模式是一种行为模式,在<设计模式>这本书中对其有详 ...