';

E aí galera,
Hoje precisei de um modo de detectar o browser e sua versão, pesquisei e achei uma função muito simples que resolve esse problema.
Como sempre o vilão da história é o “Internet Explorer 6”, então para solucionar o problema que tinha com o IE6 foi mamata.
[php]<?php
/* function getBrowser
* returns the detected browser
*/
function getBrowser()
{
$var = $_SERVER[‘HTTP_USER_AGENT’];
$info[‘browser’] = "OTHER";

// valid brosers array
$browser = array ("MSIE", "OPERA", "FIREFOX", "MOZILLA",
"NETSCAPE", "SAFARI", "LYNX", "KONQUEROR");

// bots = ignore
$bots = array(‘GOOGLEBOT’, ‘MSNBOT’, ‘SLURP’);

foreach ($bots as $bot)
{
// if bot, returns OTHER
if (strpos(strtoupper($var), $bot) !== FALSE)
{
return $info;
}
}

// loop the valid browsers
foreach ($browser as $parent)
{
$s = strpos(strtoupper($var), $parent);
$f = $s + strlen($parent);
$version = substr($var, $f, 5);
$version = preg_replace(‘/[^0-9,.]/’,”,$version);
if (strpos(strtoupper($var), $parent) !== FALSE)
{
$info[‘browser’] = $parent;
$info[‘version’] = $version;
return $info;
}
}
return $info;
}

// prints the detected browser
print_r(getBrowser());
?>[/php]
é isso aí …só isso.
[ratings]
Abraços.


6 Comments

João Paulo · 2019-01-22 at 17:32

Muito bom.
Como eu converto ele pra uma variavel?
Array ( [browser] => FIREFOX [version] => 3.6. )
Para apenas FIREFOX 3.6

Obrigado

João Paulo · 2010-06-06 at 02:39

Muito bom.
Como eu converto ele pra uma variavel?
Array ( [browser] => FIREFOX [version] => 3.6. )
Para apenas FIREFOX 3.6

Obrigado

admin · 2019-01-22 at 17:32

Joao Paulo, basta você concatenar os valores do array!
Ex:
$array = getBrowser();
$variavel = $array[‘browser’] . $array[‘version’];
print_r($variavel);

Obrigado.

admin · 2010-06-06 at 10:26

Joao Paulo, basta você concatenar os valores do array!
Ex:
$array = getBrowser();
$variavel = $array[‘browser’] . $array[‘version’];
print_r($variavel);

Obrigado.

Tapegado · 2019-01-22 at 17:32

Coicidencia no nome? Emerson?

Tapegado · 2011-07-31 at 22:29

Coicidencia no nome? Emerson?

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *