寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

php获取来自搜索引擎入站的关键词

很久前就看这么一个功能:当经搜索引擎通过某一关键词进入网站时,它会推出弹出框“您是否在找**”,感觉着一个小小的功能确实做得挺人性化,我也试图在本博客添加如此功能,但因其他原因,始终未写完插件,先把核心代码修改一下贴出来分享一下。

代码如下:

<?php
//*
//代码功能:获取来自搜索引擎入站时的关键词。
//*
function get_keyword($url,$kw_start)//函数作用:从url中提取关键词。参数说明:url及关键词前的字符。
{
 $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=
$search_2="baidu.com"; //wd=

$google=preg_match("/\b{$search_1}\b/",$url);//记录匹配情况,用于入站判断。
$baidu=preg_match("/\b{$search_2}\b/",$url);
$s_s_keyword="";
 if ($google)
 {//来自google
  $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
 }
 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
 }
 

echo '$s_s_keyword';

?>

注意字符编码事宜,否则可能出现乱码,呵呵。。。

程序 2010-05-19 10:32:39 6 0 5794 php搜索引擎关键词
文章写得不错?我是土豪我要在线打赏!
在线打赏

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
Excel动态引用各表格指定单元格数据
开篇第一章
Excel文件内容很少,但文件很大,打开很慢怎么办?
如何利用python修改文件的创建时间,修改时间,访问时间
发现一个好网站——春燕文档
Ubuntu22.04中用thunar替换默认文件管理器,提示无法启动“TerminalEmulator“的首选应用程序
MySQL如何按每个分类查询10条数据,即MySQL如何每个分类查询10条数据
文章推荐
请不要奇怪,为什么最近博客的文章是几年前的内容
免责声明
关于博主
开篇第一章
随机推荐
apache .htaccess强制访问手机,电脑页面
OAuth认证协议原理分析及使用方法(转)
php判断远程文件是否存在
请不要奇怪,为什么最近博客的文章是几年前的内容
我也发个飞信API接口发飞信短消息。
MySQL数据库的concat()函数为什么返回空
emlog YY统计插件不稳定修复测试
这只是一个测试日志
phpmyadmin批量删除msql指定前缀表名的数据表
调整PHP和MySQL的时区,实现同步显示中国时间
友情连接
春燕网络
春燕文档
谢润的博客