当前位置:  编程技术>php
本页文章导读:
    ▪php获取搜索引擎入站关键词的函数      代码如下: <?php //* * 获取来自搜索引擎入站关键词 * edit by www. */ function get_keyword($url,$kw_start)//函数作用:从url中提取关键词。参数说明:url及关键词前的字符。 { $start=stripos($url,$kw_s.........
    ▪php记录搜索引擎来路及关键词的实现代码      代码:   <?php /** * 记录搜索引擎来路及关键词 * edit by www. */ //搜索引擎来路 function keywords($url){ $spier=array('baidu.'=>'百度','google.'=>'谷歌','soso.'=>'搜搜','sogou.'=>'搜狗','www.so.com'.........
    ▪php获取当前网址与页面内容的代码参考      1,获取当前网址的代码   代码示例: <?php /** * 得到当前网址 * eidt by www. */ function get_url() {   $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://'; .........

[1]php获取搜索引擎入站关键词的函数
    来源: 互联网  发布时间: 2013-12-24

代码如下:

<?php
//*
* 获取来自搜索引擎入站关键词
* edit by www.
*/
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';
?>

代码说明:
1,注意字符编码的问题,因为不同的搜索引擎可能返回的编码格式不同。
2,功能更全的函数,可以参考这篇:获取搜索引擎关键词来源。


    
[2]php记录搜索引擎来路及关键词的实现代码
    来源: 互联网  发布时间: 2013-12-24

代码:
 

<?php
/**
* 记录搜索引擎来路及关键词
* edit by www.
*/
//搜索引擎来路
function keywords($url){
$spier=array('baidu.'=>'百度','google.'=>'谷歌','soso.'=>'搜搜','sogou.'=>'搜狗','www.so.com'=>'360');
$q=array('百度'=>'/wd=([^&]*)/i','谷歌'=>'/q=([^&]*)/i','360'=>'/q=(.*)/i','搜狗'=>'/query=([^&]*)/i','搜搜'=>'/w=([^&]*)/i');
foreach($spier as $k=>$v){
   if(strpos($url,$k)){
      preg_match("{$q[$v]}",$url,$b);
      if($v=='搜搜'||$v=='搜狗'){
 $keywords=iconv('GBK','UTF-8',urldecode($b[1]));
      }else{
 $keywords=urldecode($b[1]);
}

echo "来自{$v}的关键字:".$keywords;
 }
} 
}
$url=$_SERVER['HTTP_REFERER']; //这个放到网站的头部来获取来访的地址的
      
keywords($url);

//记录用户搜索引擎关键词代码
//记录用户通过常见的搜索引擎搜索关键词
$rfr = $_SERVER['HTTP_REFERER'];
//if(!$rfr) $rfr='http://'.$_SERVER['HTTP_HOST'];
if($rfr)
{
 $p=parse_url(/blog_article/$rfr/index.html);
 parse_str($p['query'],$pa);
 $p['host']=strtolower($p['host']);
 $arr_sd_key=array(
 'baidu.com'=>'word',
 'google.com'=>'q',
 'sina.com.cn'=>'word',
 'sohu.com'=>'word',
 'msn.com'=>'q',
 'bing.com'=>'q',
 '163.com'=>'q',
 'yahoo.com'=>'p'
 );
 $keyword='';
 $sengine=$p['host'];
 foreach($arr_sd_key as $se=>$kwd)
 {
if(strpos($p['host'],$se)!==false)
{
 $keyword=$pa[$kwd];
 $sengine=$se;
 break;
}
 }
 $sql="insert into visit_log(domain,key_word,ct)";
}
?>

    
[3]php获取当前网址与页面内容的代码参考
    来源: 互联网  发布时间: 2013-12-24

1,获取当前网址的代码
 

代码示例:

<?php
/**
* 得到当前网址
* eidt by www.
*/
function get_url() {
  $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
  $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
  $path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';
  $relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : $path_info);
  return $sys_protocal.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '').$relate_url;
}

//输出当前网址
$url = get_url();
echo $url;
?>

2,获取页面内容的代码
 

代码示例:

<?php
/**
* 得到页面内容
* edit by www.
*/
function get_contents($url){
  if(function_exists('file_get_contents')){
    $file_contents = file_get_contents($url);
  }else{
    $ch = curl_init();
    $timeout = 5;
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
}

//输出内容
return $file_contents;
?>


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php日期函数的简单示例代码 iis7站长之家
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3