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

这段代码定义了两个PHP函数,分别用于识别用户使用的浏览器类型和版本,以及判断请求是否来自搜索引擎蜘蛛。通过分析`HTTP_USER_AGENT`头部信息,函数能够匹配各种常见浏览器和搜索引擎的标识,返回相应的浏览器名称和版本,或者判断是否为已知的搜索引擎爬虫。
摘要由CSDN通过智能技术生成

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 '';

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值