note 69239 deleted from function.get-browser by bjori
| From: | bjori@php.net | Date: | Mon, 09 Oct 2006 10:58:47 +0000 |
| Subject: | note 69239 deleted from function.get-browser by bjori | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-118252@lists.php.net to get a copy of this message | ||
Note Submitter: znupi69 at at at gmail dot dot dot com
----
I hope some will find this useful ... It doesn't use any preg_replace(); so I think that makes
it faster (not shure though). Also I haven't tested it with all browsers (just firefox and ie),
but my guess is it will detect any ...
<?php
function detectBrowser() {
$browsers = array("msie", "firefox"); //- Add here
$names = array ("msie" => "Microsoft Internet Explorer", "firefox"
=> "Mozilla Firefox"); //- The same
$nav = "Unknown";
$sig = strToLower ($_SERVER['HTTP_USER_AGENT']);
foreach ($browsers as $b) {
if ( $pos = strpos ($sig, $b) ) {
$nav = $names[$b];
break;
}
}
if ($nav == "Unknown") return array ("app.Name" => $nav, "app.Ver"
=> "?", "app.Sig" => $sig);
$ver = "";
for ( ; $pos <= strlen ($sig); $pos ++) {
if ( (is_numeric($sig[$pos])) || ($sig[$pos]==".") ) {
$ver .= $sig[$pos];
}
else if ($ver) break;
}
return array("app.Name" => $nav, "app.Ver" => $ver, "app.Sig"
=> $sig);
}
$nav = detectBrowser();
echo "Your browser is: " . $nav['app.Name'] . " " .
$nav['app.Ver'] . "<br />Your signature was: " .
$nav['app.Sig'];
?>
Hope I helped :)