Outbook

HTML+CSS+JS, Accesibilidad, PHP y más

Inicio que contiene a Desarrollo web que contiene a PHP que contiene a PHP: ereg y eregi obsoletos (deprecated) en PHP 5.3.x

Datos de búsqueda

PHP: ereg y eregi obsoletos (deprecated) en PHP 5.3.x

Las funciones PHP ereg y eregi se utilizan para realizar búsquedas en cadenas de texto mediante expresiones regulares:

ereg($patron, $cadena_texto);
eregi($patron, $cadena_texto);

Con PHP 5.3 se consideran obsoletas y provocan errores, aunque en Devthought dan una solución: cambiarlas por preg_match.

Los ejemplos anteriores con preg_match:

preg_match('/'.$patron.'/', $cadena_texto);

Las diferencias son escasas:

  • Se cambia la función.
  • La expresión regular ahora va entre barras inclinadas a la derecha "/[expresión regular]/"

Comentarios del artículo

Los comentarios están cerrados.

Si el comentario no guarda relación con el tema del artículo o los comentarios previos, si la redacción del mismo es ilegible (estilo HOYGAN), o si contiene insultos u otros términos ofensivos, será borrado de inmediato. No se garantiza ningún soporte a los ejemplos de desarrollo web presentados en este sitio.

Hay 9 comentarios a “PHP: ereg y eregi obsoletos (deprecated) en PHP 5.3.x”

Miguel dice:

Fecha de comentario: 2010/06/30 12:28

Cada vez mudan mas funciones a sus variantes con expresiones regulares. Split, ereg…

A ver si te animas y nos explicas un poco esto de las expresiones regulares que algunos no acabamos de entenderlo.

Felicidades por el blog!

ljllkjlk sadfalskdds dice:

Fecha de comentario: 2010/10/29 21:05

quiesiera saber que pasara con todos los que usamos ereg tendriamos que cambiar nuestras lineas de codigo nOOOOOOOO

William dice:

Fecha de comentario: 2011/01/11 22:31

Excelente informacion, lo tendre en cuenta cuando desarrolle.

JP dice:

Fecha de comentario: 2011/02/09 16:51

Excelente, aunque estoy teniendo problemas para convertir el código desde eregi, a preg_match.

Aunque, por algo será. Quizás generaba errores a largo plazo bajo determinados casos

Jacuer dice:

Fecha de comentario: 2011/09/24 01:47

preg_match() devuelve el número de veces que patron coincide. Este número será 0 (no existe coincidencia) o 1, ya que preg_match() detendrá la búsqueda después de la primera coincidencia.

Eventualmente en versiones anteriores a PHP 5.3.5 aparecera un mensaje indicandonos que la funcion ereg() esta obseleta,

He migrado a la funcion preg_match() y la he utilizado para restar fechas con formato AA:MM:DD

de la siguiente forma:

function restaFechas($dFecIni, $dFecFin)
{
$dFecIni = str_replace(“-“,””,$dFecIni);
$dFecFin = str_replace(“-“,””,$dFecFin);
//ereg( “([0-9]{4})([0-9]{1,2})([0-9]{1,2})”, $dFecIni, $aFecIni);
preg_match(“/([0-9]{4})([0-9]{1,2})([0-9]{1,2})/i”, $dFecIni, $aFecIni);
preg_match(“/([0-9]{4})([0-9]{1,2})([0-9]{1,2})/i”, $dFecFin, $aFecFin);
//ereg( “([0-9]{4})([0-9]{1,2})([0-9]{1,2})”, $dFecFin, $aFecFin);
$date1 = mktime(0,0,0,$aFecIni[2], $aFecIni[3], $aFecIni[1]);
$date2 = mktime(0,0,0,$aFecFin[2], $aFecFin[3], $aFecFin[1]);
return round(($date2 – $date1) / (60 * 60 * 24));
}

isra dice:

Fecha de comentario: 2011/10/11 16:51

Yeaaaaaaaaaaa fue una solucion rapidisima muchas gracias

Fancisco Villavicencio dice:

Fecha de comentario: 2011/12/09 17:28

No estoy muy de acuerdo con los comentarios anteriores.
Si se crean nuevas funciones, las anteriores deben seguir substiendo por el sencillo motivo de que hay un mundo de aplicaciones que están trabajando bien. En este momento por ejemplo, estoy utilizando la librería de clases class.XHTTPRequest que utiliza las funciones ereg() y ereg_replace(). Cómo voy a atreverme a cambiar el código de esa librería. CÓmo sé en qué aplicaciones se están utilizando? No es tan difícil vislumbrar las tremendas implicaciones que se siguen luego de que a alguien se le ocurrió decir ” FUNCTION DEPRECATED’.
Francisco.

ariel dice:

Fecha de comentario: 2013/01/18 02:06

hola gracias por el aporte, pero no funciona de forma correcta, tira un error

Parse error: syntax error, unexpected ‘:’ in /www/tipsnet.com.ar/htdocs/URL1.php on line 4

Mony dice:

Fecha de comentario: 2013/04/03 21:03

Muchas gracias, funciona perfecto!!

Información del sitio