Free Website Hosting Anuncios

REEMPLAZO por obsoleta , Deprecated: Function eregi_replace() is deprecated in …… o Function ereg_replace() is deprecated in ……

Cuando trabajamos en servidores con versiones de PHP 5.3.0 (o superiores) es posible que si el código ejecutado tiene una llamada a la función nativa de PHP eregi_replace() nos aparezca un alerta que diga:

Deprecated: Function eregi_replace() is deprecated in ……

también puede ser:

Deprecated: Function ereg_replace() is deprecated in ……

Esto quiere decir que a partir de las versiones PHP 5.3.x la función se declara obsoleta y debe ser reemplazada por otra que no lo sea pero que cumpla la misma funcionalidad que la anterior esto es fácil de detectar, sin embargo, no es tan sencillo encontrar la función que reemplaza a esta.

sintaxis:

ereg_replace(string $pattern , string $replacement , string $string )
funcionalidad:
Sustituye en “$string” con $replacement cuando en $string se encuentre un match que coincida con el patron contenido en $pattern.

La función que la reemplaza es:

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [,
int &$count ]] )

la cual posee un patron cuya expresión regular es compatible con las expresiones regulares de PERL (PCRE).

Por lo tanto al reemplazarla en tu código PHP debes tener cuidado en reformar el patron para que sea compatible con PCRE. Basicamente, añade una “/” al principio y al final de la expresión regular.

Si antes tenías un patrón asi:

$patrón = ‘(>[^<]*)(hola)’;

Ahora deberá estar así:

$patrón = ‘/(>[^<]*)(hola)/’;

Y si no quieres que distinga entre mayusculas o minusculas (eregi_replace()) deberias agregar una “i” al final:

$patrón = ‘/(>[^<]*)(hola)/i’;

También puede que pase con la función ereg() que no reemplaza , sino que retorna un valor booleano si hay match en la comparacion.
Esta es reemplazada por la funcion preg_match(), teniendo en cuenta también la formación de la cadena del patrón.

Si te ha gustado este post, suscríbete al feed.

Categorías: configuraciones, Frames php, General, PHP

5 comentarios to “REEMPLAZO por obsoleta , Deprecated: Function eregi_replace() is deprecated in …… o Function ereg_replace() is deprecated in ……”

  1. gracias.. me sirvio un monton

  2. Muchas gracias!

    Información concentrada y certera. Valiosa aclaración la de ‘/PCRE/i’ al uso sobre ereg/eregi.
    Y para que no todo sean elogios, te diré que te has comido como poco 3 acentos en tu escrito. ;)

    Gracias de nuevo.

  3. De nada !

  4. Si los lenguajes de programación fuesen en español, creo que tendriamos mejor escritura castellana…..

  5. Gracias amigo por tu valioso y claro aporte… me salvo

    SAludos

Deja una respuesta