我正在使用以下内容:
(preg_match('/^Mozilla\/5\.0.*Android\s[12]\..*\sMobile/i', $_SERVER['HTTP_USER_AGENT'])
&& !preg_match('/\sChrom/i', $_SERVER['HTTP_USER_AGENT']))
在较早的 Android 平台(1.x 或 2.x)(don't support SVG)上匹配 Android 浏览器。
- “Chrom”排除“Chrome”和“Chromium”(后者可能不存在)
- Firefox 当前不包含 Android 版本,这意味着它没有与上面的肯定匹配。我在下面为它添加了一个明确的排除项,以防它开始添加 Android 版本号
几个测试字符串:
旧版 Android 浏览器
Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; SAMSUNG GT-I9100/I9100BUKJ3 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Android 上的 Chrome
Mozilla/5.0 (Linux; Android 4.1.2; GT-I9100 Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36
Android 上的 Firefox
Mozilla/5.0 (Android; Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
Android 上的 Opera Mini
Opera/9.80 (Android; Opera Mini/7.5.33361/34.788; U; en) Presto/2.8.119 Version/11.10 Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; GT-I9100 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
任何版本的 Android 浏览器 + 不包括 Firefox:
(preg_match('/^Mozilla\/5\.0.*Android\s\d\..*\sMobile/i', $_SERVER['HTTP_USER_AGENT'])
&& !preg_match('/\sChrom/i', $_SERVER['HTTP_USER_AGENT'])
&& !preg_match('/\sFirefox/i', $_SERVER['HTTP_USER_AGENT']))
这仅与所使用的测试用户代理一样好,因此请在 cmets 中贡献自己的力量!