获取浏览器版本在php中直接使用http_user_agent就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了,
例1
代码如下 复制代码
function get_user_browser() {
if (empty($_server['http_user_agent'])) {
return '';
}
$agent = $_server['http_user_agent'];
$browser = '';
$browser_ver = '';
if (preg_match('/msies([^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('/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';
}
}
实例
代码如下 复制代码
function get_user_browser()
{
if (empty($_server['http_user_agent']))
{ //当浏览器没有发送访问者的信息的时候
return '';
}
$agent = $_server['http_user_agent'];
$browser = '';
$browser_ver = '';
if (preg_match('/msies([^s|;]+)/i', $agent, $regs))
{
$browser = 'internet explorer'; //当匹配到了msie 的时候,取得数字的那一部分房在数组$regs里
$browser_ver = $regs[1];
}
elseif (preg_match('/firefox/([^s]+)/i', $agent, $regs))
{
$browser = 'firefox'; //当匹配到了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('/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';
}
}
判断是否为蜘蛛
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',
'baiduspider+',
'msnbot',
'yodaobot',
'yahoo! slurp;',
'yahoo! slurp china;',
'iaskspider',
'sogou web spider',
'sogou push spider'
);
$searchengine_name = array(
'google',
'google adsense',
'baidu',
'msn',
'yodao',
'yahoo',
'yahoo china',
'iask',
'sogou',
'sogou'
);
$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 '';
}
http://www.bkjia.com/phpjc/631523.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/631523.htmltecharticle获取浏览器版本在php中直接使用http_user_agent就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了, 例1 代码如下 复...