php解析浏览器请求httpuseragent获取操作系统浏览器版本号等数据代码
代码语言:php
所属分类:其他
代码描述:php解析浏览器请求httpuseragent获取操作系统浏览器版本号等数据代码
代码标签: php 解析 浏览器 请求 httpuseragent 获取 操作 系统 浏览器 版本号 数据 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<?php
const PLATFORM = 'platform';
const BROWSER = 'browser';
const BROWSER_VERSION = 'version';
function parse_user_agent($u_agent = null)
{
if( $u_agent === null && isset($_SERVER['HTTP_USER_AGENT']) ) {
$u_agent = (string)$_SERVER['HTTP_USER_AGENT'];
}
if( $u_agent === null ) {
throw new Exception('parse_user_agent requires a user agent');
}
$platform = null;
$browser = null;
$version = null;
$return = [ PLATFORM => &$platform, BROWSER => &$browser, BROWSER_VERSION => &$version ];
if( !$u_agent ) {
return $return;
}
if( preg_match('/\((.*?)\)/m', $u_agent, $parent_matches) ) {
preg_match_all(<<<'REGEX'
/(?P<platform>BB\d+;|Android|Adr|Symbian|Sailfish|CrOS|Tizen|iPhone|iPad|iPod|Linux|(?:Open|Net|Free)BSD|Macintosh|
Windows(?:\ Phone)?|Silk|linux-gnu|BlackBerry|PlayBook|X11|(?:New\ )?Nintendo\ (?:WiiU?|3?DS|Switch)|Xbox(?:\ One)?)
(?:\ [^;]*)?
(?:;|$)/imx
REGEX
, $parent_matches[1], $result);
$priority = [ 'Xbox One', 'Xbox', 'Windows Phone', 'Tizen', 'Android', 'FreeBSD', 'NetBSD', 'OpenBSD', 'CrOS', 'X11', 'Sailfish' ];
$result[PLATFORM] = array_unique($result[PLATFOR.........完整代码请登录后点击上方下载按钮下载查看
网友评论0