Я думаю, что сложно получить полное имя ОС и полное имя браузера, так как многие браузеры идентифицируют себя по-разному. Вам, вероятно, понадобится какое-то необычное регулярное выражение, и тогда оно может даже не работать 100% времени.
Вот простой метод, который я использую для идентификации браузера. Вы можете адаптировать его под свои нужды.
<?php
public static function getUserAgent()
{
static $agent = null;
if ( empty($agent) ) {
$agent = $_SERVER['HTTP_USER_AGENT'];
if ( stripos($agent, 'Firefox') !== false ) {
$agent = 'firefox';
} elseif ( stripos($agent, 'MSIE') !== false ) {
$agent = 'ie';
} elseif ( stripos($agent, 'iPad') !== false ) {
$agent = 'ipad';
} elseif ( stripos($agent, 'Android') !== false ) {
$agent = 'android';
} elseif ( stripos($agent, 'Chrome') !== false ) {
$agent = 'chrome';
} elseif ( stripos($agent, 'Safari') !== false ) {
$agent = 'safari';
} elseif ( stripos($agent, 'AIR') !== false ) {
$agent = 'air';
} elseif ( stripos($agent, 'Fluid') !== false ) {
$agent = 'fluid';
}
}
return $agent;
}