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);
?>

时间: 2024-08-31 23:01:41

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

php中获取关键词及所属来源搜索引擎名称的代码_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" /> <

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

原理是从url中提取关键词.参数说明:url及关键词前的字符,然后进行处理与来源判断是那个搜索引擎,这样保存到数据就就行了. <?php教程 // $search_url = isset($_get['url'])?$_get['url']:''; //代表传入的地址 /*$search_url = urldecode($search_url); print_r($search_url); */ $config = array(     "s1"=>array(      

MVC View中获取action、controller、area名称、参数

获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); 获取Action名称: ViewContext.RouteData.Values["action"].ToString(); 获取路由参数值: ViewContext.RouteData.Values[名称].ToString(); 如:ViewContext.RouteData.Values["ID"].ToStrin

JUnit中获取测试类及方法的名称实现方法_java

在JUnit的测试中,有时候需要获得所属的类(Class)或者方法(Method)的名称,以方便记录日志什么的. 在JUnit中提供了TestName类来做到这一点,在org.junit.rules中: public class TestName extends TestWatcher { private String fName; @Override protected void starting(Description d) { fName = d.getMethodName(); } /*

C++中获取UTC时间精确到微秒的实现代码_C 语言

在日常开发过程中经常会使用到时间类函数的统计,其中获取1970年至今的UTC时间是比较常使用的,但是在windows下没有直接能够精确到微妙级的函数可用.本文提供方法正好可以解决这类需求问题. 下面先给出C++实现代码: 复制代码 代码如下: #ifndef UTC_TIME_STAMP_H_#define UTC_TIME_STAMP_H_ #include <windows.h>#include <sys/timeb.h>#include <time.h> #if

在Iframe中获取父窗口中表单的值(示例代码)_javascript技巧

部分代码如下:     <from   name="frm"   action="bb.asp">     <table>         <tr>               <td><input   type="text"   name="BH"></td>         </tr>         <tr>         

在kindEditor中获取当前光标的位置索引的实现代码_网页编辑器

呵呵,有这个说明他自己有获取光标位置的办法,然后顺藤摸瓜找到了,拿出来分享一下. 下面editor.cmd.range.startOffset部分就是了. 复制代码 代码如下: var editor;KindEditor.ready(function () { editor = KindEditor.create("#txt_content"); alert(editor.cmd.range.startOffset);} ); 另: 还发现有个editor.cmd.range.endO

asp中获取当前页面的地址与参数的函数代码_应用技巧

复制代码 代码如下: Function getCurrentUrl() On Error Resume Next Dim strTemp If LCase(Request.ServerVariables("HTTPS")) = "off" Then strTemp = "http://" Else strTemp = "https://" End If strTemp = strTemp & Request.Serve

DeDecms中利用关键词实现简单tag功能的php代码_dedecms

修改模板文件,例如article_article.htm,在需要增加tag的地方,增加如下代码: 复制代码 代码如下: {dede:field name='keywords' runphp='yes' }      if(!empty(@me)){            $kws = explode(' ',@me);            @me = "";            foreach($kws as $k){            @me .= "<a h