Skip to content

Instantly share code, notes, and snippets.

@MilkZoft
Created January 18, 2012 04:07
Show Gist options
  • Save MilkZoft/1630880 to your computer and use it in GitHub Desktop.
Save MilkZoft/1630880 to your computer and use it in GitHub Desktop.
codejobs - How to know the user's browser? - PHP
<?php
function browser() {
$browsers = array(
"Opera" => "(Opera)",
"Mozilla Firefox" => "((Firebird)|(Firefox))",
"Galeon" => "(Galeon)",
"Mozilla" => "(Gecko)",
"MyIE" => "(MyIE)",
"Lynx" => "(Lynx)",
"Netscape" => "((Mozilla/4\.75)|(Netscape6)|(Mozilla/4\.08)|(Mozilla/4\.5)|(Mozilla/4\.6)|(Mozilla/4\.79))",
"Konqueror" => "(Konqueror)",
"Internet Explorer 9" => "((MSIE 9\.[0-9]+))",
"Internet Explorer 8" => "((MSIE 8\.[0-9]+))",
"Internet Explorer 7" => "((MSIE 7\.[0-9]+))",
"Internet Explorer 6" => "((MSIE 6\.[0-9]+))",
"Internet Explorer 5" => "((MSIE 5\.[0-9]+))",
"Internet Explorer 4" => "((MSIE 4\.[0-9]+))",
"Chrome" => "((Chrome))"
);
foreach($browsers as $browser => $pattern) {
if(preg_match($pattern, $_SERVER["HTTP_USER_AGENT"])) {
if($browser == "Mozilla") {
if(strstr($_SERVER["HTTP_USER_AGENT"], "Chrome") !== FALSE) {
return "Google Chrome";
}
if(strstr($_SERVER["HTTP_USER_AGENT"], "Safari") !== FALSE) {
return "Safari";
}
} else {
$browser = str_replace(" 9", "", $browser);
$browser = str_replace(" 8", "", $browser);
$browser = str_replace(" 7", "", $browser);
$browser = str_replace(" 6", "", $browser);
return $browser;
}
}
}
return "Unknown";
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment