>php教程 >php手册 >php 获取浏览器名称版本实例程序

php 获取浏览器名称版本实例程序

WBOY
WBOY원래의
2016-05-25 16:50:42845검색

获取浏览器版本在php中直接使用HTTP_USER_AGENT就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了,实例代码如下:

function get_user_browser() {
    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        return '';
    }
    $agent = $_SERVER['HTTP_USER_AGENT'];
    $browser = '';
    $browser_ver = '';
    if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs)) {
        $browser = 'Internet Explorer';
        $browser_ver = $regs[1];
    } elseif (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) {
        $browser = 'FireFox';
        $browser_ver = $regs[1];
    } elseif (preg_match('/Maxthon/i', $agent, $regs)) {
        $browser = '(Internet Explorer ' . $browser_ver . ') Maxthon';
        $browser_ver = '';
    } elseif (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs)) {
        $browser = 'Opera';
        $browser_ver = $regs[1];
    } elseif (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs)) {
        $browser = 'OmniWeb';
        $browser_ver = $regs[2];
    } elseif (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs)) {
        $browser = 'Netscape';
        $browser_ver = $regs[2];
    } elseif (preg_match('/Chrome\/([\d.]+)/i', $agent, $regs)) {
        $browser = 'Chrome';
        $browser_ver = $regs[1];
    } elseif (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) {
        $browser = 'Safari';
        $browser_ver = $regs[1];
    } elseif (preg_match('/NetCaptors([^\s|;]+)/i', $agent, $regs)) {
        $browser = '(Internet Explorer ' . $browser_ver . ') NetCaptor';
        $browser_ver = $regs[1];
    } elseif (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs)) {
        $browser = 'Lynx';
        $browser_ver = $regs[1];
    }
    if (!empty($browser)) {
        return addslashes($browser . ' ' . $browser_ver);
    } else {
        return 'Unknow browser';
    }
}

注意:chrome使用了webkit的部分代码,webkit是苹果开发的,所以需要将chrome的识别放在safari前面。

判断是否为蜘蛛:

function is_spider($record = true)    //判断是否为蜘蛛 
{ 
    static $spider = NULL; 
    if ($spider !== NULL) 
    { 
        return $spider;        // 
    } 
    if (empty($_SERVER['HTTP_USER_AGENT'])) 
    { 
        $spider = ''; 
        return ''; 
    } 
    $searchengine_bot = array( 
        'googlebot', 
        'mediapartners-google', 
        'baidu', 
        'msnbot', 
        'yodaobot', 
        'yahoo! slurp;', 
        'yahoo! slurp china;', 
        'iaskspider', 
        'sogou web spider', 
        'sogou push spider' 
        'haosou' 
    ); 
    $searchengine_name = array( 
        'GOOGLE', 
        'GOOGLE ADSENSE', 
        'BAIDU', 
        'MSN', 
        'YODAO', 
        'YAHOO', 
        'Yahoo China', 
        'IASK', 
        'SOGOU', 
        'SOGOU' 
        'HAOSOU' 
    ); 
    $spider = strtolower($_SERVER['HTTP_USER_AGENT']);    //将用户浏览器信息转成小写 
    foreach ($searchengine_bot AS $key => $value) 
    { 
        if (strpos($spider, $value) !== false)                    //绝对不等于,避免字符串出现为止为0的这种情况 
        { 
            $spider = $searchengine_name[$key];            //返回对应的seo/seo.html" target="_blank">搜索引擎名 
            return $spider; 
        } 
    } 
    $spider = ''; 
    return ''; 
}

               
               

文章地址:

转载随意^^请带上本文地址!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.