Мне нужно иметь возможность указывать между IE 11 и Firefox в скрипте PHP. У меня есть следующая функция. Однако в IE он возвращает Mozilla. Есть ли другой способ приблизиться к этому, чтобы отличить Firefox от IE?HTTP_USER_AGENT в PHP говорит, что Mozilla для IE
function browser() {
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
// you can add different browsers with the same way ..
if(preg_match('/(chromium)[ \/]([\w.]+)/', $ua))
$browser = 'chromium';
elseif(preg_match('/(chrome)[ \/]([\w.]+)/', $ua))
$browser = 'chrome';
elseif(preg_match('/(safari)[ \/]([\w.]+)/', $ua))
$browser = 'safari';
elseif(preg_match('/(opera)[ \/]([\w.]+)/', $ua))
$browser = 'opera';
elseif(preg_match('/(msie)[ \/]([\w.]+)/', $ua))
$browser = 'msie';
elseif(preg_match('/(mozilla)[ \/]([\w.]+)/', $ua))
$browser = 'mozilla';
preg_match('/('.$browser.')[ \/]([\w]+)/', $ua, $version);
return array($browser,$version[2],'name'=>$browser,'version'=>$version[2]);
}
Спасибо!
HTTP (она восходит к эпохе Netscape.): // stackoverflow.com/questions/18070154/get-operating-system-info-with-php/18070424#18070424 может помочь. –
Также http://stackoverflow.com/questions/1114254/why-do-all-browsers-user-agents-start-with-mozilla – apokryfos
Чтобы ответить на ваш вопрос. Чтобы обнаружить Firefox, найдите слово 'firefox' – apokryfos