Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2012, 00:53
AitorLopez
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Problema al detectar chrome y safari

Hola. Al detectar el navegador, cuando es safari me devuelve esto:

Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10

Y con Chrome esto:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11

Tengo esta funcion:

Código PHP:
Ver original
  1. function obtiene_navegador()
  2. {
  3.     $navegadores = array(
  4.         'Safari' => 'Safari',
  5.         'Google Chrome'=> 'Chrome',
  6.         );
  7.  
  8.     foreach($navegadores as $navegador=>$pattern)
  9.     {
  10.         if (preg_match("<\b".$pattern."\b>", $_SERVER['HTTP_USER_AGENT']))
  11.             return $navegador;
  12.     }
  13.  
  14.     return 'Desconocido';
  15. }

En los dos casos, me devuelve que el navegador es safari.

Cuando es Safari, solo esta la palabra safari, pero cuando es chrome, devuelve las dos palabras, tanto safari como chrome, creo que por ahí viene el error.

Creo que la solucion podria ser que al crear el array, decir que si encuentra las palabras safari y chrome, que devuelve chrome y si solo encuenta safari, que devuelva safari, pero no se como hacer esto.

¿Me podeis ayudar?

Gracias. Un saludo.