Heim >php教程 >php手册 >PHP如何获得入站的搜索引擎与关键字

PHP如何获得入站的搜索引擎与关键字

WBOY
WBOYOriginal
2016-06-13 09:38:081191Durchsuche

有时候,当我们从搜索引擎进入某个网站,他会有一行小字,“欢迎来自Google/百度,通过检索“XXX”关键字来到本站”之类的东西。那么这个功能是怎么实现的呢?其实不难,大概思路就是,获得入站URL,再正则我们需要的数据就行了。

<?php

$url=isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';//获取入站url。
$search_1 = "google.com"; //q=
$search_2 = "baidu.com"; //wd=

$google = preg_match("/\b{$search_1}\b/",$url);//记录匹配情况,用于入站判断。
$baidu = preg_match("/\b{$search_2}\b/",$url);
$s_s_keyword="";
if ($google)
{
    //来自google
    $s_s_keyword=get_keyword($url,'q=');//关键词前的字符为“q=”。
    $s_s_keyword=urldecode($s_s_keyword);
    //$s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
}
else if($baidu)
{
    //来自百度
    $s_s_keyword=get_keyword($url,'wd=');//关键词前的字符为“wd=”。
    $s_s_keyword=urldecode($s_s_keyword);
    $s_s_keyword=iconv("GBK","UTF-8",$s_s_keyword);//引擎为gbk
}


echo '$s_s_keyword';

/*
获取来自搜索引擎入站时的关键词。
*/
// 函数作用:从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;
}

?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn