专栏首页V站PHP获取从搜索引擎进入网站的关键词
原创

PHP获取从搜索引擎进入网站的关键词

V站笔记

<?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'];
}
?>

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 19条mysql优化mark下

    MySQL对于IN做了相应的优化,即将IN中的常量全部存储在一个数组里面,而且这个数组是排好序的。但是如果数值较多,产生的消耗也是比较大的。再例如:select...

    V站CEO-西顾
  • CSS毛玻璃效果

    其实毛玻璃的模糊效果技术上比较简单,只是用到了css滤镜(filter)中的blur属性。但是要做一个好的毛玻璃效果,需要注意很多细节。

    V站CEO-西顾
  • php7高效生成二维码:composer和荷兰PHP开发者的QrCode

    关于QrCode这个类库没必要详细介绍,基于php的GD库,用于生成任意尺寸的二维码,并且可以将logo水印也打上去,还可以在二维码图片下方加入文字。QrCod...

    V站CEO-西顾
  • spring开发_使用p名称空间配置属性

    http://www.cnblogs.com/hongten/gallery/image/112563.html

    Hongten
  • 关于postman你知道这些就够用了

    postman一直都有在用,只是没系统地学过,正好生产有问题需要我传不同的参数调用同一个接口的方式去处理,于是周末花了三个多小时系统地学习了一下。

    小小明童鞋
  • JFinal极速开发框架使用笔记(四) _JFinalDemoGenerator实体类生成及映射自动化

    运行_JFinalDemoGenerator生成实体类和映射之前的项目结构: ? 运行之后: ? 生成和改变的文件: 实体类: package com.wazn...

    二十三年蝉
  • Go语言教程九

    这一课的视频内容简介:go语言 里的第九课 文件IO 类型转换。 ? 代码地址:https://github.com/azheng333/video_cod...

    刀刀老高
  • Python入门教程八

    这一课的视频内容简介:python里的异常处理, 文件 IO。 ? 代码地址:https://github.com/azheng333/video_code ...

    刀刀老高
  • [ SSH框架 ] Struts2框架学习之二

      前面已经对 Struts2的流程已经执行完成了,但是如果表单中有参数如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习 Stru...

    Kevin_Zhang
  • 小朋友学C++(13):引用

    (一)C语言中的“&” 在C语言里,我们碰到过“&”这个符号。“&”的使用场景有两种: (1)位运算符 int a = 5; int b = 10; int c...

    海天一树

扫码关注云+社区

领取腾讯云代金券