Denne her er nok besværlig, men den virker upåklageligt:
// Funktion, der finder brugerens browser, version samt platform ($info = browser|version|os)
function find_browser($info = \'browser\')
{
$ua = getenv(\'HTTP_USER_AGENT\'); // gør det lidt nemmere
// browser og version
if (eregi(\"(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}\", $ua, $r) || eregi(\"(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}\", $ua, $r)) {
$browser = \"Opera\";
$version = $r[\'2\'];
} elseif (eregi(\"(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})\", $ua, $r)) {
$browser = \"Lynx\";
$version = $r[\'2\'];
} elseif (eregi(\"(msie) ([0-9]{1,2}.[0-9]{1,3})\", $ua, $r)) {
$browser = \"MSIE\";
$version = $r[\'2\'];
} elseif (eregi(\"(netscape6)/(6.[0-9]{1,3})\", $ua, $r)) {
$browser = \"Netscape\";
$version = $r[\'2\'];
} elseif (eregi(\"mozilla/5\", $ua)) {
$browser = \"Netscape\";
$version = \"5.0\"; // pr. definition
} elseif (eregi(\"(mozilla)/([0-9]{1,2}.[0-9]{1,3})\", $ua, $r)) {
$browser = \"Netscape\";
$version = $r[\'2\'];
} else {
$browser = \"Ukendt\";
$version = \"3.0\"; // pr. definition
}
// os
if (eregi(\"linux\", $ua)) {
$os = \"Linux\";
} elseif (eregi(\"win32\", $ua)) {
$os = \"Windows\";
} elseif ((eregi(\"(win)([0-9]{2})\", $ua, $r)) || (eregi(\"(windows) ([0-9]{2})\", $ua, $r))) {
$os = \"Windows \" . $r[\'2\'];
} elseif (eregi(\"(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}\", $ua, $r)) {
$os = \"Windows NT \" . $r[\'2\'];
} elseif (eregi(\"(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}\", $ua, $r)) {
$os = \"Windows NT \" . $r[\'3\'];
} elseif (eregi(\"mac\", $ua)) {
$os = \"Macintosh\";
} elseif (eregi(\"(sunos) ([0-9]{1,2}.[0-9]{1,2}){0,1}\", $ua, $r)) {
$os = \"SunOS \" . $r[\'2\'];
} elseif (eregi(\"(beos) r([0-9]{1,2}.[0-9]{1,2}){0,1}\", $ua, $r)) {
$os = \"BeOS \" . $r[\'2\'];
} elseif (eregi(\"freebsd\", $ua)) {
$os = \"FreeBSD\";
} elseif (eregi(\"openbsd\", $ua)) {
$os = \"OpenBSD\";
} elseif (eregi(\"irix\", $ua)) {
$os = \"IRIX\";
} elseif (eregi(\"os/2\", $ua)) {
$os = \"OS/2\";
} elseif (eregi(\"unix\", $ua) || eregi(\"hp-ux\", $ua)) {
$os = \"Unix\";
} else {
$os = \"Ukendt\";
}
// returnér relevant info
return $$info;
}
Håber du kan bruge det til noget. For at finde OS skal du bruge find_browser(\'os\') ...
Jens Gram -
www.jensgram.dk