首页 > 开发 > PHP > 正文

获取关键词及所属来源搜索引擎名称

2024-05-04 21:58:24
字体:大 中 小
来源:转载
供稿:网友

原理是从url中提取关键词,参数说明:url及关键词前的字符,然后进行处理与来源判断是那个搜索引擎,这样保存到数据就就行了,PHP实例代码如下:

  1. <?php 
  2. // 
  3.  
  4. $search_url = isset($_get['url'])?$_get['url']:''; //代表传入的地址 
  5. /*$search_url = urldecode($search_url); 
  6. print_r($search_url); 
  7. */ 
  8.  
  9. $config = array( 
  10.     "s1"=>array( 
  11.         "domain" => "google.com", 
  12.         "kw" => "q", 
  13.         "charset" => "utf-8" 
  14.     ), 
  15.     "s3"=>array( 
  16.         "domain" => "google.cn", 
  17.         "kw" => "q", 
  18.         "charset" => "utf-8" 
  19.     ), 
  20.     "s4"=>array( 
  21.         "domain" => "baidu.com", 
  22.         "kw" => "wd", 
  23.         "charset" => "gbk" 
  24.     ), 
  25.     "s5"=>array( 
  26.         "domain" => "soso.com", 
  27.         "kw" => "q", 
  28.         "charset" => "utf-8" 
  29.     ), 
  30.     "s6"=>array( 
  31.         "domain" => "yahoo.com", 
  32.         "kw" => "q", 
  33.         "charset" => "utf-8" 
  34.     ), 
  35.     "s7"=>array( 
  36.         "domain" => "bing.com", 
  37.         "kw" => "q", 
  38.         "charset" => "utf-8" 
  39.     ), 
  40.     "s8"=>array( 
  41.         "domain" => "sogou.com", 
  42.         "kw" => "query", 
  43.         "charset" => "gbk" 
  44.     ), 
  45.     "s9"=>array( 
  46.         "domain" => "youdao.com", 
  47.         "kw" => "q", 
  48.         "charset" => "utf-8" 
  49.     ), 
  50. ); 
  51.  
  52. //函数作用:从url中提取关键词。参数说明:url及关键词前的字符。 
  53. function get_keyword($url,$kw_start) 
  54.  
  55. { 
  56.     $start = stripos($url,$kw_start); 
  57.     $url = substr($url,$start+strlen($kw_start)); 
  58.     $start = stripos($url,'&'); 
  59.     if ($start>0) 
  60.     { 
  61.         $start=stripos($url,'&'); 
  62.         $s_s_keyword=substr($url,0,$start); 
  63.     } 
  64.     else  
  65.     { 
  66.         $s_s_keyword=substr($url,0); 
  67.     } 
  68.     return $s_s_keyword; 
  69. } 
  70.  
  71. $arr_key = array(); 
  72. foreach($config as $item){ 
  73.     $sh = preg_match("/b{$item['domain']}b/",$search_url); 
  74.     if($sh){ 
  75.         $query = $item['kw']."="; 
  76.  
  77.         $s_s_keyword = get_keyword($search_url,$query); 
  78.         $f_skey=urldecode($s_s_keyword); 
  79.         if($item['charset']=="utf-8"){ 
  80.             $f_skey=iconv( "utf-8","gb2312//ignore",$f_skey); //最终提取的关键词 
  81.         } 
  82.         $keys = explode(" ",$f_skey); 
  83.         $arr_key[$item['domain']] = $keys; 
  84.     } 
  85. } 
  86. echo "<pre>"; 
  87. print_r($arr_key); 
  88.  
  89. ?> 
  90. <form action="index.php" method="get"> 
  91.     <input name="url" size="80"><button type="submit">go</button> 
  92. </form> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表