我已经创建了一个脚本来在互联网的帮助下检测操作系统版本的Windows,但现在我被困在检测Mac OS版本。我没有Mac OS来测试代码并找出使用什么和搜索谷歌并没有真正帮助我。 这些是我在Wiki上找到的版本:LINK
使用Windows我发现了例如: windows nt 6.1 = Windows 7.
if (preg_match('/windows nt 6.1/i', $user_agent)) {
$platform .= ' 7';
}
如何检测Mac的数量版本? 这是我唯一的一部分,但它并不准确适用于所有版本:
if (preg_match('/macintosh|mac os x/i', $user_agent)) {
$platform = 'Mac';
}
if (preg_match('/mac_powerpc/i', $user_agent)) {
$platform .= ' OS 9';
} elseif (preg_match('/macintosh/i', $user_agent)) {
$platform .= ' OS X';
}
答案 0 :(得分:3)
如果您想获得精确的结果并且今天仍然回家,请切换到UAparser库: https://github.com/ua-parser/uap-php
从他们的手册:
require_once 'vendor/autoload.php';
use UAParser\Parser;
$ua = "Mozilla/5.0 (Macintosh; Intel Ma...";
$parser = Parser::create();
$result = $parser->parse($ua);
print $result->ua->family; // Safari
print $result->ua->major; // 6
print $result->ua->minor; // 0
print $result->ua->patch; // 2
print $result->ua->toString(); // Safari 6.0.2
print $result->ua->toVersion(); // 6.0.2
print $result->os->family; // Mac OS X
print $result->os->major; // 10
print $result->os->minor; // 7
print $result->os->patch; // 5
print $result->os->patchMinor; // [null]
print $result->os->toString(); // Mac OS X 10.7.5
print $result->os->toVersion(); // 10.7.5
print $result->device->family; // Other
print $result->toString(); // Safari 6.0.2/Mac OS X 10.7.5
print $result->originalUserAgent; // Mozilla/5.0 (Macintosh; Intel Ma...
"require": {
"ua-parser/uap-php": "dev-master"
}