note 69239 added to function.get-browser
| From: | znupi69 at at at gmail dot dot dot com | Date: | Mon, 28 Aug 2006 12:41:00 +0000 |
| Subject: | note 69239 added to function.get-browser | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-116429@lists.php.net to get a copy of this message | ||
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 :)
----
Server IP: 193.226.19.70
Probable Submitter: 85.204.132.229
----
X-Spam-Status: No, hits=3.3 required=5.0 tests=DATE_MISSING,FROM_NO_LOWER,
HTML_MESSAGE autolearn=no version=2.64
----
Manual Page -- http://www.php.net/manual/en/function.get-browser.php
Edit -- https://master.php.net/note/edit/69239
Del: integrated -- https://master.php.net/note/delete/69239/integrated
Del: useless -- https://master.php.net/note/delete/69239/useless
Del: bad code -- https://master.php.net/note/delete/69239/bad+code
Del: spam -- https://master.php.net/note/delete/69239/spam
Del: non-english -- https://master.php.net/note/delete/69239/non-english
Del: in docs -- https://master.php.net/note/delete/69239/in+docs
Del: other reasons-- https://master.php.net/note/delete/69239
Reject -- https://master.php.net/note/reject/69239
Search -- https://master.php.net/manage/user-notes.php