Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Alex_bro en 28 Octubre 2011, 23:05 pm



Título: Ayuda con conversion a preg_match
Publicado por: Alex_bro en 28 Octubre 2011, 23:05 pm
Buenas,
Siempre he tenido problemas para entender todo el tema de expresiones regulares y demás en PHP...
el caso es que en una de mis webs, uso el siguiente codigo para detectar navegadores moviles:
Código
  1. $is_movil = eregi('/ipod|iphone|android|opera mini|blackberry|palm os|windows ce/',$_SERVER['HTTP_USER_AGENT']);
Pero la funcion eregi ya no es válida en la versión actual de PHP, y en teoria con reemplazarla por preg_match deberia valer, pero el script no funciona cuando uso preg_match...

Que es lo que deberia cambiar mas?

Gracias.


Título: Re: Ayuda con conversion a preg_match
Publicado por: Alex_bro en 29 Octubre 2011, 23:16 pm
Perdon, me acabo de dar cuenta de que esto va en el foro de PHP... es que no estoy acostumbrado a publicar alli nada jeje.
Algun moderador puede mover el tema?

Gracias.


Título: Re: Ayuda con conversion a preg_match
Publicado por: Shell Root en 29 Octubre 2011, 23:33 pm
Podría ser algo como esto,
Código
  1.  $search = $_SERVER['HTTP_USER_AGENT'];
  2.  $expReg = "/chrome|firefox|windows|ipod|iphone|android|opera mini|blackberry|palm os|windows ce/i";
  3.  $result = "";
  4.  
  5.  preg_match( $expReg, $search, $result, PREG_OFFSET_CAPTURE );
  6.  
  7.  print $search;
  8.  print "<br/>";
  9.  print $result[0][0];


Código
  1. # Chrome
  2. Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2
  3. Chrome
  4.  
  5. # Firefox
  6. Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
  7. Firefox
  8.  
  9. # IE
  10. Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
  11. Windows


Título: Re: Ayuda con conversion a preg_match
Publicado por: Alex_bro en 30 Octubre 2011, 23:46 pm
Genial, muchas gracias amigo  ;-)

Estudié lo que me pusiste y lo que yo hacia mal es no poner la "i" en la expresion regular. Ojala algun dia me entren en la cabeza estas cosas de las expresiones regulares jeje.

Gracias de nuevo :)