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:
$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.
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.
Podría ser algo como esto,
$search = $_SERVER['HTTP_USER_AGENT'];
$expReg = "/chrome|firefox|windows|ipod|iphone|android|opera mini|blackberry|palm os|windows ce/i";
$result = "";
preg_match( $expReg, $search, $result, PREG_OFFSET_CAPTURE );
print $search;
print "<br/>";
print $result[0][0];
# Chrome
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2
Chrome
# Firefox
Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Firefox
# IE
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Windows
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 :)