php判断客户端浏览器类型
2024-09-07 22:22:25
/**
* 判断浏览器名称和版本
*/
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';
}
}
最新文章
- Android权限管理之Permission权限机制及使用
- html5存储方式localstorage和sessionStorage
- 自定义属性的时候,尽量不要使用value这个命名
- hashMap_使用
- 将spring cloud打包docker镜像
- Mego开发文档 - 基础查询
- concurrent.futures进行并发编程
- C++标准库之右值引用相关:引用折叠
- Java 状态模式
- axios、ajax、fetch三者的区别
- php计算程序运行时间
- nginx常用的超时配置说明
- 在 Laravel 5 中集成七牛云存储实现云存储功能
- 编程开发之--java多线程学习总结(5)
- erlang-sunface的博客地址
- go包管理工具glide使用方法
- 删除Windows服务
- 1.2(Mybatis学习笔记)Mybatis核心配置
- android studio - 隐藏编辑器上面的导航条
- 【转】 Pro Android学习笔记(八五):了解Package(4):lib项目
热门文章
- 如何在 Java 中实现无向图
- kali添加开机自启[亲测有效]
- SpringMVC获取请求参数-POJO类型参数
- 巧用 background-clip 实现超强的文字动效
- php怎么向上取整以5为界
- C# 利用.NET 升级助手将.NET Framework项目升级为.NET 6
- FastDFS分布式的文件系统从小白入门到企业实践打怪之路系列笔记 【运维实践】
- 图片叠加科幻切换 -- css
- python基础练习题(题目 判断101-200之间有多少个素数,并输出所有素数。)
- windwos 下编译 qsqlibase 驱动(firebird 和 interbase)