<?
//новый вариант проверки ua
function browser($agent)
{
    if (!empty($agent)){
    preg_match("/(Lynx|Jigsaw|msnbot|MJ12bot|YandexBot|Googlebot|MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon|ELinks)(?:\/| )([0-9.]+)/",
        $agent, $browser_info); // регулярное выражение, которое позволяет отпределить 90% браузеров
    @list(, $browser, $version) = $browser_info; // получаем данные из массива в переменную
    if ($browser == 'Googlebot')return 'Googlebot ';
    if ($browser == 'YandexBot')return 'YandexBot ';
    if ($browser == 'msnbot')return 'MSN Bot ';
    if ($browser == 'MJ12bot')return 'MJ12 Bot ';
    if ($browser == 'Jigsaw')return 'W3C css-validator';
    if (preg_match("/Opera ([0-9.]+)/i", $agent, $opera))
        return 'Opera ' . $opera[1]; // определение _очень_старых_ версий Оперы (до 8.50), при желании можно убрать
    if ($browser == 'MSIE')
    { // если браузер определён как IE
        preg_match("/(Maxthon|Avant Browser|MyIE2)/i", $agent, $ie); // проверяем, не разработка ли это на основе IE
        if ($ie)
            return $ie[1] . ' на базе Trident(IE) ' . $version; // если да, то возвращаем сообщение об этом
        return 'Trident(IE) ' . $version; // иначе просто возвращаем IE и номер версии
    }
    if ($browser == 'Firefox')
    { // если браузер определён как Firefox
        preg_match("/(Flock|Navigator|Epiphany)\/([0-9.]+)/", $agent, $ff); // проверяем, не разработка ли это на основе Firefox
        if ($ff)
            return $ff[1] . ' ' . $ff[2]; // если да, то выводим номер и версию
    }
    if ($browser == 'Opera' && $version == '9.80')
        return 'Opera ' . substr($agent, -5); // если браузер определён как Opera 9.80, берём версию Оперы из конца строки
    if ($browser == 'Version')
        return 'Safari ' . $version; // определяем Сафари
    if (!$browser && strpos($agent, 'Gecko'))
        return 'Браузер на базе Gecko'; // для неопознанных браузеров проверяем, если они на движке Gecko, и возращаем сообщение об этом
            if ($browser == '')
        return 'Unknown'; 
    return $browser . ' ' . $version; // для всех остальных возвращаем браузер и версию
    } else {
        return 'Unknown';
    }
 
}
    if (isset($_SERVER['HTTP_USER_AGENT'])) {
	$ua = browser($_SERVER['HTTP_USER_AGENT']);	
    } else $ua = 'Unknown';

  
?>