PHP获取搜索引擎关键词

PHP获取搜索引擎关键词

有时候我们需要知道用户通过哪个搜索引擎,通过拿个关键词访问我们页面,当然js也可以实现,这里介绍下php的实现代码,包含(百度、谷歌、雅虎、搜狗、搜搜、必应、有道)几大搜索引擎的获取方法。

//获取来自搜索引擎入站时的关键词  function get_keyword($url,$kw_start) { $start=stripos($url,$kw_start); $url=substr($url,$start+strlen($kw_start)); $start=stripos($url,'&'); if ($start>0) { $start=stripos($url,'&'); $s_s_keyword=substr($url,0,$start); } else { $s_s_keyword=substr($url,0); } return $s_s_keyword; } $url=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';//获取入站url。  $search_1="google.com"; //q= utf8  $search_2="baidu.com"; //wd= gbk  $search_3="yahoo.cn"; //q= utf8  $search_4="sogou.com"; //query= gbk  $search_5="soso.com"; //w= gbk  $search_6="bing.com"; //q= utf8  $search_7="youdao.com"; //q= utf8  $google=preg_match("/\b{ $search_1}\b/",$url);//记录匹配情况,用于入站判断。  $baidu=preg_match("/\b{ $search_2}\b/",$url); $yahoo=preg_match("/\b{ $search_3}\b/",$url); $sogou=preg_match("/\b{ $search_4}\b/",$url); $soso=preg_match("/\b{ $search_5}\b/",$url); $bing=preg_match("/\b{ $search_6}\b/",$url); $youdao=preg_match("/\b{ $search_7}\b/",$url); $s_s_keyword=""; $bul=$_SERVER['HTTP_REFERER']; //获取没参数域名  preg_match('@^(?:http://)?([^/]+)@i',$bul,$matches); $burl=$matches[1]; //匹配域名设置  $curl="www.netxu.com"; if($burl!=$curl){ if ($google) { //来自google  $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。  $s_s_keyword=urldecode($s_s_keyword); $urlname="谷歌:"; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk  } else if($baidu) { //来自百度  $s_s_keyword=get_keyword($url,'wd=');//关键词前的字符为"wd="。  $s_s_keyword=urldecode($s_s_keyword); $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk  $urlname="百度:"; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; } else if($yahoo) { //来自雅虎  $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。  $s_s_keyword=urldecode($s_s_keyword); //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk  $urlname="雅虎:"; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; } else if($sogou) { //来自搜狗  $s_s_keyword=get_keyword($url,'query=');//关键词前的字符为"query="。  $s_s_keyword=urldecode($s_s_keyword); $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk  $urlname="搜狗:"; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; } else if($soso) { //来自搜搜  $s_s_keyword=get_keyword($url,'w=');//关键词前的字符为"w="。  $s_s_keyword=urldecode($s_s_keyword); $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk  $urlname="搜搜:"; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; } else if($bing) { //来自必应  $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。  $s_s_keyword=urldecode($s_s_keyword); //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk  $urlname="必应:"; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; } else if($youdao) { //来自有道  $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为"q="。  $s_s_keyword=urldecode($s_s_keyword); //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk  $urlname="有道:"; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; } else{ $urlname=$burl; $s_s_keyword=""; $_SESSION["urlname"]=$urlname; $_SESSION["s_s_keyword"]=$s_s_keyword; } $s_urlname=$urlname; $s_urlkey=$s_s_keyword; } else{ $s_urlname=$_SESSION["urlname"]; $s_urlkey=$_SESSION["s_s_keyword"]; } 

 

由于各搜索引擎的页面编码不一样,有的是GBK,有的是UTF8,所以在获取时会有不同对字符编码的转换.

 

https://blog.csdn.net/php_80/article/details/43452307

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112796.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python 写入文件时编码问题

    python 写入文件时编码问题本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末python写入文件时编码错误UnicodeDecodeError:’utf-8’codeccan’tdecodebyte..解决:增加errors=‘ignore’withopen(‘数据.csv’,”r”,encoding=’utf-8′,errors=’ignore’,newline=””)asf1:本文仅供学习交流使用,如侵立删!企鹅、WX:1033383881(备注来意)

  • C# SM4加密_sql md5加密

    C# SM4加密_sql md5加密usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceConsoleApp1{publicclassSM4{publicstaticintSM4_ENCRYPT=1;publicstaticintSM4_DECRYPT=0;p

  • java filestream_java FileStream文件流操作

    java filestream_java FileStream文件流操作直接上代码,函数使用说明详见JavaAPI文档importjava.io.*;publicclassStreamDemo{publicstaticvoidmain(String[]args){Filef=newFile(“F:\\workspace\\JavaPrj\\test.txt”);FileOutputStreamout=null;try{out=newFileOu…

  • RecyclerView使用_recyclerview是什么

    RecyclerView使用_recyclerview是什么本文目录RecyclerView概述RecyclerView使用-基础篇第一步:添加RecyclerView第二步:添加布局文件第三步:添加逻辑代码运行效果RecyclerView使用-进阶篇布局管理器线性布局管理器网格布局管理器ItemDecorationItem动画Item点击RecyclerView使用-高级篇(上拉刷新下拉加载更多)第一步:添加依赖第二步:布局文件第三步:逻辑代码完整代…

    2022年10月23日
  • virsh查看虚拟网络信息_vmware创建的虚拟机不见了

    virsh查看虚拟网络信息_vmware创建的虚拟机不见了virsh查询虚拟机列表。

  • pdf转word思路和方法

    pdf转word思路和方法本篇只涉及pdf转word,整理的一些方法,当前有效,个人观点。一、右键直接用word打开适合小文件转换。二、转换软件很多可以将pdf转word的软件,比如AdobeAcrobat,ABBYYFineReader等等,还有一些国产转换软件,百度网盘好像也可以,大部分转换也有限制,需要money,想支持也行,当然也可以去一些论坛,网站或者博客找一些大神免费版的,可以去杂货间http://jsywmy.ys168.com/看看,里面有一些网站论坛博客有。三、转换网站1、alltoall2.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号