note 88980 added to function.get-browser

From: Date: Tue, 17 Feb 2009 00:40:27 +0000
Subject: note 88980 added to function.get-browser
Groups: php.notes 
Request: Send a blank email to php-notes+get-150738@lists.php.net to get a copy of this message
A newer version for those only interested in identifying A-grade browsers. The code was ported in part from JQuery 1.3.1. class Browser { /** Figure out what browser is used, its version and the platform it is running on. The following code was ported in part from JQuery v1.3.1 */ public static function detect() { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); // Identify the browser. Check Opera and Safari first in case of spoof. Let Google Chrome be identified as Safari. if (preg_match('/opera/', $userAgent)) { $name = 'opera'; } elseif (preg_match('/webkit/', $userAgent)) { $name = 'safari'; } elseif (preg_match('/msie/', $userAgent)) { $name = 'msie'; } elseif (preg_match('/mozilla/', $userAgent) && !preg_match('/compatible/', $userAgent)) { $name = 'mozilla'; } else { $name = 'unrecognized'; } // What version? if (preg_match('/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches)) { $version = $matches[1]; } else { $version = 'unknown'; } // Running on what platform? if (preg_match('/linux/', $userAgent)) { $platform = 'linux'; } elseif (preg_match('/macintosh|mac os x/', $userAgent)) { $platform = 'mac'; } elseif (preg_match('/windows|win32/', $userAgent)) { $platform = 'windows'; } else { $platform = 'unrecognized'; } return array( 'name' => $name, 'version' => $version, 'platform' => $platform, 'userAgent' => $userAgent ); } } Usage: $browser = TkBrowser::detect(); echo 'You browser is '.$browser['name'].' version '.$browser['version'].' running on '.$browser['platform']; Best regards, Daniel ---- Server IP: 209.41.74.194 Probable Submitter: 66.158.157.48 ---- Manual Page -- http://www.php.net/manual/en/function.get-browser.php Edit -- https://master.php.net/note/edit/88980 Del: integrated -- https://master.php.net/note/delete/88980/integrated Del: useless -- https://master.php.net/note/delete/88980/useless Del: bad code -- https://master.php.net/note/delete/88980/bad+code Del: spam -- https://master.php.net/note/delete/88980/spam Del: non-english -- https://master.php.net/note/delete/88980/non-english Del: in docs -- https://master.php.net/note/delete/88980/in+docs Del: other reasons-- https://master.php.net/note/delete/88980 Reject -- https://master.php.net/note/reject/88980 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#150738) next »