|
有时候我们需要知道用户通过哪个搜索引擎,通过拿个关键词访问我们页面,当然js也可以实现,但这里介绍下php的实现代码。
复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>greengnn codes</title> </head> <body> <form action="index.php" method="get"> <input name="url" size="80"><button type="submit">GO</button> </form>
<?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); ?>
|
|