<script type="text/javascript">
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
if (window.ActiveXObject){
Sys.ie = ua.match(/msie ([\d.]+)/i)[1]
if(window.XMLHttpRequest) Sys.ie = "7.0"
if(window.XDomainRequest) Sys.ie = "8.0"
if(window.external.max_version) Sys.maxthon = parseFloat(window.external.max_version);
}
else if (document.getBoxObjectFor)
Sys.firefox = ua.match(/firefox\/([\d.]+)/i)[1]
else if (window.MessageEvent && !document.getBoxObjectFor)
Sys.chrome = ua.match(/chrome\/([\d.]+)/i)[1]
else if (window.opera)
Sys.opera = ua.match(/opera.([\d.]+)/i)[1]
else if (window.openDatabase)
Sys.safari = ua.match(/version\/([\d.]+)/i)[1];
else Sys.noBrowser = true;
//以下进行测试
if(Sys.ie) document.write('IE: '+Sys.ie);
if(Sys.firefox) document.write('Firefox: '+Sys.firefox);
if(Sys.chrome) document.write('Chrome: '+Sys.chrome);
if(Sys.opera) document.write('Opera: '+Sys.opera);
if(Sys.safari) document.write('Safari: '+Sys.safari);
if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon);
if(Sys.noBrowser) document.write('无法判断的浏览器版本');
</script>
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
if (window.ActiveXObject){
Sys.ie = ua.match(/msie ([\d.]+)/i)[1]
if(window.XMLHttpRequest) Sys.ie = "7.0"
if(window.XDomainRequest) Sys.ie = "8.0"
if(window.external.max_version) Sys.maxthon = parseFloat(window.external.max_version);
}
else if (document.getBoxObjectFor)
Sys.firefox = ua.match(/firefox\/([\d.]+)/i)[1]
else if (window.MessageEvent && !document.getBoxObjectFor)
Sys.chrome = ua.match(/chrome\/([\d.]+)/i)[1]
else if (window.opera)
Sys.opera = ua.match(/opera.([\d.]+)/i)[1]
else if (window.openDatabase)
Sys.safari = ua.match(/version\/([\d.]+)/i)[1];
else Sys.noBrowser = true;
//以下进行测试
if(Sys.ie) document.write('IE: '+Sys.ie);
if(Sys.firefox) document.write('Firefox: '+Sys.firefox);
if(Sys.chrome) document.write('Chrome: '+Sys.chrome);
if(Sys.opera) document.write('Opera: '+Sys.opera);
if(Sys.safari) document.write('Safari: '+Sys.safari);
if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon);
if(Sys.noBrowser) document.write('无法判断的浏览器版本');
</script>
JS不是很好吗,干嘛转换成php呢
echo "<script type='text/javascript'>";
就这样一直往下写就成PHP了
可用正则,表达式与js的相同
由于我没有那么多浏览器去测试,代码就略去了
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
$arr_sys = array('msie ' => 'IE',
'firefox/' => 'Firefox',
'chrome/' => 'Chrome',
'opera.' => 'Opera',
'version/' => 'Safari',
'maxthon ' => 'Maxthon'
);
preg_match_all("@(".implode('|',array_keys($arr_sys)).")([\d\.]+)@i",$ua,$out);
if (!$out[1]){
echo "无法判断的浏览器版本\n";
} else {
foreach ($out[1] as $k => $v){
echo $arr_sys[strtolower($v)].': '.$out[2][$k]."\n";
}
}
?>
</pre>
IE和Firefox测了一下是可以的。
输出的结果更丰富些
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";$browser = get_browser(null, true);
print_r($browser);
?>
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3Array
(
[browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
[majorver] => 0
[minorver] => 9
[cssversion] => 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] =>
[vbscript] =>
[javascript] => 1
[javaapplets] => 1
[activexcontrols] =>
[cdf] =>
[aol] =>
[beta] => 1
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[netclr] =>
)