代潇瑞博客

php获得客户端浏览器的名称及版本

| 点击次数:10148

看到ecshop中有这么一个函数get_user_browser(),获取浏览器的名称和版本。虽然获取的信息只是简单的一些信息,但是还是很实用。其原理主要是通过$_SERVER['HTTP_USER_AGENT']获得浏览器信息,再用正则进行比对得出浏览器的信息。


以下是各浏览器运行的效果:


php获得客户端浏览器的名称及版本


php获得客户端浏览器的名称及版本


php获得客户端浏览器的名称及版本


源码如下:


<?php

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('/safari\/([^\s]+)/i', $agent, $regs))

{

$browser     = 'Safari';

$browser_ver = $regs[1];

}

elseif (preg_match('/NetCaptor\s([^\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';

}

}


echo get_user_browser();


?>

【相关推荐】

触屏版 | 电脑版

Copyright © 2013 代潇瑞博客手机版

QQ: 446673330

粤ICP备13071969号-1