php中获取关键词及所属来源搜索引擎名称的代码

yipeiwu_com7年前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);
?>

相关文章

php中的抽象方法和抽象类

1、什么是抽象方法? 我们在类里面定义的没有方法提的方法就是抽象方法。所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象...

ThinkPHP中处理表单中的注意事项

本文实例讲述了ThinkPHP中处理表单中的注意事项。分享给大家供大家参考。具体分析如下: ThinkPHP中在表单提交数据中,有以下问题需要加以注意: 1、直接通过url访问模块中的某...

在yii中新增一个用户验证的方法详解

1.为什么要新增一个用户验证:因为我要将网站后台和前台做在同一个yii的应用中.但是前台也包含有会员的管理中心.而这两个用户验证是完全不同的,所以需要两个不同登陆页面,要将用户信息保存在...

php下intval()和(int)转换使用与区别

复制代码 代码如下:<?php echo "<br/>数值强制转换:"; $string="2a"; $string1=intval($string); echo '$...

php简单实现快速排序的方法

本文实例讲述了php简单实现快速排序的方法。分享给大家供大家参考。具体实现方法如下: function quicksort($seq) { if(!count($seq)) ret...