获取关键词及所属来源搜索引擎名称
原理是从url中提取关键词,参数说明:url及关键词前的字符,然后进行处理与来源判断是那个搜索引擎,这样保存到数据就就行了,PHP实例代码如下:
<?php $search_url = isset($_get['url'])?$_get['url']:''; //代表传入的地址 /*$search_url = urldecode($search_url); print_r($search_url); */ $config = array( "s1"=>array( "domain" => "google.com", "kw" => "q", "charset" => "utf-8" ), "s3"=>array( "domain" => "google.cn", "kw" => "q", "charset" => "utf-8" ), "s4"=>array( "domain" => "baidu.com", "kw" => "wd", "charset" => "gbk" ), "s5"=>array( "domain" => "soso.com", "kw" => "q", "charset" => "utf-8" ), "s6"=>array( "domain" => "yahoo.com", "kw" => "q", "charset" => "utf-8" ), "s7"=>array( "domain" => "bing.com", "kw" => "q", "charset" => "utf-8" ), "s8"=>array( "domain" => "sogou.com", "kw" => "query", "charset" => "gbk" ), "s9"=>array( "domain" => "youdao.com", "kw" => "q", "charset" => "utf-8" ), ); //函数作用:从url中提取关键词。参数说明:url及关键词前的字符。 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; } $arr_key = array(); foreach($config as $item){ $sh = preg_match("/b{$item['domain']}b/",$search_url); if($sh){ $query = $item['kw']."="; $s_s_keyword = get_keyword($search_url,$query); $f_skey=urldecode($s_s_keyword); if($item['charset']=="utf-8"){ $f_skey=iconv( "utf-8","gb2312//ignore",$f_skey); //最终提取的关键词 } $keys = explode(" ",$f_skey); $arr_key[$item['domain']] = $keys; } } echo "<pre>"; print_r($arr_key); ?>
<form action="index.php" method="get">
<input name="url" size="80"><button type="submit">go</button>
</form>
教程链接:http://www.phprm.com/develop/fs4206.html
随意转载~但请保留教程地址★