首页 > php开发 > 获取关键词及所属来源搜索引擎名称

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

原理是从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

随意转载~但请保留教程地址★

标签:php获取关键词 来源搜索引擎

发表留言