Como todos sabemos no PHP 5.3 tivemos diversas mudanças na estrutura do PHP e hoje falaremos de um erro que vem ocorrendo frequentemente nos meus códigos PHP antigos quando migrado para um servidor que tenha uma nova versão do PHP.

O erro falado é o Deprecated: Function ereg() is deprecated, neste artigo falaremos um pouco sobre sua extinsão e como solucionar o erro.

O que é ereg

Primeiro, antes de falar do problema temos que entender o que era a função ereg do PHP.

Esta função permitia que você procura-se uma determinada com uma expressão regular, com case sensitive, retornando a quantidade de itens encontrados ou false caso nenhum fosse encontrado.

Ela também contava com algumas variantes o eregi() que trabalhava da mesma forma, porém case insenstive e ereg_replace() que permitia substituir todas as posições encontrada assim como o eregi_replace que faz o mesmo, porém case insensitive.

Diferença entre ereg e eregi

Antigamente, para fazermos distinção entre case sensitive e case insensitive deveríamos utilizar funções diferentes, por isso existia o ereg e eregi, para a mesma função, apenas fazendo ou não distinção de cases.

Porque o ereg foi depreciado?

O ereg, apesar de ser bem mais simples que seu sucessor, ele executava a mesma ação porém com menos opções, não fazendo assim, sentido manter duas funções parecidas.

Este tipo de atitude tem sido tomada pela equipe do PHP para eliminar as funções redundantes existentes hoje, que, apesar de facilitar seu aprendisado torna bastante complexa a manutenção o código-fonte de terceiros.

Como solucionar o problema Function ereg() is deprecated

A função ereg pode ser fácilmente substituida pela função preg_match, que apresenta resultado semelhante ao ereg, tendo somente algumas diferenças em sua declaração, veja abaixo.

//Para o código:
//if(ereg("abc", "nabc,nobc,treabc")) {  //faz se achar}
//será substituido por:
if(preg_match("/abc/", "nabc,nobc,treabc"))
{
// faz se achar
}

Observe que as unicas mudanças foram o nome da função de ereg() para preg_match e ao invés de “abc” para “/abc/”, estas barras servem para indicar ao interpretador de expressão regular da função que a expressão acabou, sendo necessária sempre.

No caso se você estiver tentando substituir o eregi() bastará fazer a seguinte modificação:

//Para o código:
//if(eregi("abc", "nabc,nobc,treabc")) {  //faz se achar}
//será substituido por:
if(preg_match("/ABV/i", "nabc,nobc,treabc"))
{
// faz se achar
}

Sendo necessário apenas digitar o /i ao final da expressão, isso tornará a validação da expressão regular em case não sensitivo.

Como solucionar o problema Function ereg_replace() is deprecated

Assim como o ereg() o ereg_replace() também foi depreciado, sendo este substituido pelo preg_replace(), aonde a substituição pode ser feita facilmente, da seguinte foram:

//Para o código:
//$novoValor =
//ereg_replace("abc", "nabc,nobc,treabc", "Este é um texto do tipo abc");
//será substituido por:
echo preg_replace("/abc/", "def", "Este é um texto do tipo abc");

Como solucionar o problema function eregi_replace is deprecated

No caso da função eregi_replace aonde é não é feita a distinção entre letras maiúsculas e minúsculas você deve adicionar o /i após os marcadores da expressão regular, ficando bem simples conforme o exemplo abaixo:

//Para o código:
//$novoValor =
//ereg_replace("abc", "nabc,nobc,treabc", "Este é um texto do tipo abc");
//será substituido por:
echo preg_replace("/abc/i", "def", "Este é um texto do tipo abc");

82 Comments

  1. Posted 8 de fevereiro de 2011 at 15:39 | Permalink

    Muitooo bom!!! Consegui resolver o meu problema! muito obrigada!

  2. Igor Oliveira
    Posted 11 de março de 2011 at 14:35 | Permalink

    Ótimo amigo, resolvi meus problemas, obrigado!

  3. david
    Posted 11 de abril de 2011 at 01:20 | Permalink

    explica pra merda!.

  4. Posted 4 de maio de 2011 at 22:25 | Permalink

    Não consegui,
    sou iniciante em php;

    Estou usando o oscommerce 2.3.1 e nele dá esse erro,
    eu fiz como você mostrou más ele simplestente mudou de:

    Deprecated: Function ereg() is deprecated

    para:

    Deprecated: Function preg_match() is deprecated

    eu uso easyphp 5.3.6 com: PHP5.3.6, apache 2.2.17, mysql5.5.10 e phpmyadmin3.3.9.2

    Obs: eu instalei o openSSL que o oscommerce pediu mas ele nã reconteceu, ainda aparece o “X” vermelho na opção do openSSL, como resolvo?

    • Posted 7 de maio de 2011 at 12:51 | Permalink

      Não há nenhuma menção no manual a depreciação da função preg_match, o que pode ocorrer é uma digitação incorreta da mesma, nos envie o trecho de código para poder comentar mais.

  5. Natanael
    Posted 17 de maio de 2011 at 00:56 | Permalink

    Muito 10!
    Resolvi meus erros, e olha que nunca estudei php

  6. Mateus
    Posted 18 de maio de 2011 at 00:33 | Permalink

    Olá, achei este bom artigo no google.
    Minha duvida é: Tenho uma função de troca letras
    if (ereg(“[ç]”, $letra)){
    $letra = preg_replace(sql_regcase(“/(ç|\)/”), “c” ,$letra);
    }

    Com sua logica deu certo no preg_match ..

    Mas quando preciso que mais de um caracter seja comparado ai já não faz a substituição

    Ex utilizado:
    if (ereg(“[úùûü]”, $letra)){
    $letra = preg_replace(sql_regcase(“/(ú|ù|û|ü|\)/”), “u” ,$letra);
    }

    • Posted 9 de junho de 2011 at 22:55 | Permalink

      Não precisa usar o pipe entre os caracteres (|), tente sem ele e com colchetes []

      $letra = preg_replace(sql_regcase(“/[úùûü]/”), “u” ,$letra);

  7. Posted 23 de maio de 2011 at 21:44 | Permalink

    Valeu, quebrou um galhão!

    Bem prático!

  8. Posted 6 de junho de 2011 at 19:22 | Permalink

    Funcionou direitinho… Valeu

  9. Posted 8 de junho de 2011 at 19:04 | Permalink

    meu site começou a apresentar esse erro hoje, preciso URGENTE de alguem que saiba consertar esse erro, por favor entrem em contato

  10. Posted 19 de junho de 2011 at 20:00 | Permalink

    Passei duas semanas, quebrando a cabeça, perdendo noites sem dormir com minha mulher por causa desse problema. Agora ta tudo resolvido Obrigado

  11. Vicente
    Posted 26 de julho de 2011 at 17:34 | Permalink

    Estou com problema nessa função

    $this->menuStructure = ereg_replace(chr(13), ”, $tree_string);

    troquei por preg_replace mas o problema passou a ser outro, menuStructure passa a permanecer sempre vazio retornando

    Warning: preg_replace() [function.preg-replace]: Empty regular expression in /home/….

    • Posted 26 de julho de 2011 at 19:33 | Permalink

      Olá Vicente, o problema deverá ser sanado da seguinte forma:

      $this->menuStructure = ereg_replace(“/”.chr(13).”/”,”, $tree_string);

      Isso ocorre pois no PHP, toda expressão regular deve ter um delimitador.

      Espero ter ajudado

  12. Luciano
    Posted 9 de agosto de 2011 at 18:38 | Permalink

    como ficaria então essa sintaxe ?

    if(!eregi((“^image/(pjpeg|jpeg|png|gif|bmp)$”, $foto[“type”])))
    {
    $error[1] = “Isso não é uma imagem.”;
    }

    • Posted 11 de agosto de 2011 at 19:11 | Permalink

      Ficaria assim:

      if(!preg_match((“/^image/(pjpeg|jpeg|png|gif|bmp)$/”, $foto[“type”])))
      {
      $error[1] = “Isso não é uma imagem.”;
      }

      espero ter ajudado

  13. Outro Marcos
    Posted 11 de agosto de 2011 at 16:18 | Permalink

    Caros colegas, estou com um problema pra fazer paginação e não consigo resolver, alguém pode dar uma mão? É com o tal de paginator.inc.php. Sou totalmente novato no assunto. Agradeço a atenção e paciência.

    Paginator.inc.php

    <?php
    /*
    **—————————-No Borrar esta sección ————————-
    ** Paginator
    ** Paginación de resultados de consultas a MySql con PHP
    **
    ** Versión 1.6.3
    **
    ** Nombre de archivo :
    ** paginator.inc.php
    **
    ** Autor :
    ** Jorge Pinedo Rosas (jpinedo)
    ** Con la colaboración de los usuarios del foro de PHP de http://www.forosdelweb.com
    ** Especialmente de dooky que posteó el código en el que se basa este script.
    **
    ** Descripción :
    ** Devuelve el resultado de una consulta sql por páginas, así como los enlaces de navegación respectivos.
    ** Este script ha sido pensado con fines didácticos, por eso la gran cantidad de comentarios.
    **
    ** Licencia :
    ** GPL con las siguientes extensiones:
    ** *Uselo con el fin que quiera (personal o lucrativo).
    ** *Si encuentra el código de utilidad y lo usa, mandeme un mail si lo desea o deje un comentario en la página
    ** de documentación.
    ** *Si mejora el código o encuentra errores, hagamelo saber al mail indicado o deje un comentario en la página
    ** de documentación.
    **
    ** Documentación y ejemplo de uso:
    ** http://jpinedo.webcindario.com
    **———————————————————————-*/

    /*———————————————————————-
    ** Historial:
    **
    ** Versión 1.0.0 (30/11/2003): -Versión inicial.
    ** Versión 1.1.0 (12/01/2004): -Se agregó la propagación de las variables que llegan al script vía url ($_GET)
    ** en los enlaces de navegación por las páginas.
    ** -Se optimizó el conteo del total de registros utilizando el COUNT(*) de MySql.
    ** Versión 1.3.0 (10/08/2004): -Se agregó la opción de limitar el número enlaces que se mostrarán en la barra
    ** de navegación. Gracias a la recomendación de Jorge Camargo (andinistas)
    ** -Se agregó la opción de elegir si se quiere mostrar los mensajes de error de mysql.
    ** -Se agregó la generación de información de la página actual en una cadena que contiene
    ** el total de registros de la consulta y el primer y último registro de la página actual.
    ** Versión 1.4.0 (12/08/2004): -Se agregó la opción de elegir qué variables se quiere propagar por url. Se ha utilizado
    ** la misma forma de hacerlo que utiliza la Clase Paginado de webstudio.
    ** (http://www.forosdelweb.com/showthread.php?t=65528). Gracias a la acalmación popular :)
    ** Versión 1.4.1 (06/09/2004): -Corregido el bug en la propagación de variables por GET al renombrar la variable
    ** “pg” por “_pagi_pg”. Esto sólo ocurre en la versión 1.4. Gracias a jean pierre m. por
    ** reportar el bug.
    ** Versión 1.5.0 (03/11/2004): -Se agregó la opción de elegir si se hace el conteo desde mySQL (COUNT(*)) o desde PHP (mysql_num_rows()).
    ** Esta es una de las modificaciones más importantes porque gracias a esto, ahora el script funciona para
    ** cualquier tipo de consulta, corrigiendo una de sus principales limitaciones. Gracias a César (CDs) por
    ** sus ganas de colaborar y su paciencia.
    ** Versión 1.5.1 (16/11/2004): -Se cambió el nombre de las variables $desde y $hasta por $_pagi_desde y $_pagi_hasta para mantener
    ** uniformidad y evitar conflictos.
    ** Versión 1.5.2 (15/02/2005): -Se cambió preventivamente el uso del array $GLOBALS por el array $_REQUEST con la intención de que
    ** funcione con la directiva register globals en Off. Gracias a Lorena Casas por su colaboración en la detección de
    ** este bug y en las pruebas.
    ** Versión 1.6.0 (08/03/2005): -Se reestructuró toda la parte de propagación reincluyendo el array $GLOBALS para poder propagar variables
    ** generadas en el ámbito del script.
    ** -Se incluyó la opción de elegir un estilo CSS para los enlaces de la barra de navegación.
    ** -Se incluyó la opción de personalizar los enlaces a la página anterior y a la siguiente. (Inspirado en la clase Paginador de WebStudio)
    ** Versión 1.6.1 (07/05/2005): -Corregido el bug que multiplicaba la variable _pagi_pg en el URL cuando se propaga automáticamente
    ** el array $_GET.
    ** Versión 1.6.2 (21/10/2005): -Se incluyeron los enlaces a la página primera y a la última.
    ** -Se incluyó la opción de personalizar los enlaces a la página primera y a la última.
    ** Versión 1.6.3 (22/02/2006): -Corregida la expresión regular para que reconozca los saltos de línea y tabulaciones como espacio en blanco.
    ** Gracias a El_Condor en forosdelweb por reportar el comportamiento indeseado.
    **
    **———————————————————————————————————–*/

    /**
    * Variables que se pueden definir antes de incluir el script vía include():
    * ————————————————————————
    * $_pagi_sql OBLIGATORIA. Cadena. Debe contener una sentencia sql válida (y sin la cláusula “limit”).

    * $_pagi_cuantos OPCIONAL. Entero. Cantidad de registros que contendrá como máximo cada página.
    Por defecto está en 20.

    * $_pagi_nav_num_enlaces OPCIONAL Entero. Cantidad de enlaces a los números de página que se mostrarán como
    máximo en la barra de navegación.
    Por defecto se muestran todos.

    * $_pagi_mostrar_errores OPCIONAL Booleano. Define si se muestran o no los errores de MySQL que se puedan producir.
    Por defecto está en “true”;

    * $_pagi_propagar OPCIONAL Array de cadenas. Contiene los nombres de las variables que se quiere propagar
    por el url. Por defecto se propagarán todas las que ya vengan por el url (GET).
    * $_pagi_conteo_alternativo OPCIONAL Booleano. Define si se utiliza mysql_num_rows() (true) o COUNT(*) (false).
    Por defecto está en false.
    * $_pagi_separador OPCIONAL Cadena. Cadena que separa los enlaces numéricos en la barra de navegación entre páginas.
    Por defecto se utiliza la cadena ” | “.
    * $_pagi_nav_estilo OPCIONAL Cadena. Contiene el nombre del estilo CSS para los enlaces de paginación.
    Por defecto no se especifica estilo.
    * $_pagi_nav_anterior OPCIONAL Cadena. Contiene lo que debe ir en el enlace a la página anterior. Puede ser un tag .
    Por defecto se utiliza la cadena “« Anterior”.
    * $_pagi_nav_siguiente OPCIONAL Cadena. Contiene lo que debe ir en el enlace a la página siguiente. Puede ser un tag .
    Por defecto se utiliza la cadena “Siguiente »”
    * $_pagi_nav_primera OPCIONAL Cadena. Contiene lo que debe ir en el enlace a la primera página. Puede ser un tag .
    Por defecto se utiliza la cadena “«« Primera”.
    * $_pagi_nav_ultima OPCIONAL Cadena. Contiene lo que debe ir en el enlace a la página siguiente. Puede ser un tag .
    Por defecto se utiliza la cadena “Última »»”
    ————————————————————————–
    */

    /*
    * Verificación de los parámetros obligatorios y opcionales.
    *————————————————————————
    */
    if(empty($_pagi_sql)){
    // Si no se definió $_pagi_sql… grave error!
    // Este error se muestra sí o sí (ya que no es un error de mysql)
    die(“Error Paginator : Erro na variavel —-> $_pagi_sql”);
    }

    if(empty($_pagi_cuantos)){
    // Si no se ha especificado la cantidad de registros por página
    // $_pagi_cuantos será por defecto 20
    $_pagi_cuantos = 10;
    }

    if(!isset($_pagi_mostrar_errores)){
    // Si no se ha elegido si se mostrará o no errores
    // $_pagi_errores será por defecto true. (se muestran los errores)
    $_pagi_mostrar_errores = true;
    }

    if(!isset($_pagi_conteo_alternativo)){
    // Si no se ha elegido el tipo de conteo
    // Se realiza el conteo dese mySQL con COUNT(*)
    $_pagi_conteo_alternativo = false;

    }

    if(!isset($_pagi_separador)){
    // Si no se ha elegido un separador
    // Se toma el separador por defecto.
    $_pagi_separador = ” | “;
    }

    if(isset($_pagi_nav_estilo)){
    // Si se ha definido un estilo para los enlaces, se genera el atributo “class” para el enlace
    $_pagi_nav_estilo_mod = “class=”$_pagi_nav_estilo””;
    }else{
    // Si no, se utiliza una cadena vacía.
    $_pagi_nav_estilo_mod = “”;
    }

    if(!isset($_pagi_nav_anterior)){
    // Si no se ha elegido una cadena para el enlace “siguiente”
    // Se toma la cadena por defecto.
    $_pagi_nav_anterior = “« Anterior”;
    }

    if(!isset($_pagi_nav_siguiente)){
    // Si no se ha elegido una cadena para el enlace “siguiente”
    // Se toma la cadena por defecto.
    $_pagi_nav_siguiente = “Seguinte »”;
    }

    if(!isset($_pagi_nav_primera)){
    // Si no se ha elegido una cadena para el enlace “primera”
    // Se toma la cadena por defecto.
    $_pagi_nav_primera = “«« Primeira”;
    }

    if(!isset($_pagi_nav_ultima)){
    // Si no se ha elegido una cadena para el enlace “siguiente”
    // Se toma la cadena por defecto.
    $_pagi_nav_ultima = “Última »»”;
    }

    //————————————————————————

    /*
    * Establecimiento de la página actual.
    *————————————————————————
    */
    if (empty($_GET[“_pagi_pg”])){
    // Si no se ha hecho click a ninguna página específica
    // O sea si es la primera vez que se ejecuta el script
    // $_pagi_actual es la pagina actual–>será por defecto la primera.
    $_pagi_actual = 1;
    }else{
    // Si se “pidió” una página específica:
    // La página actual será la que se pidió.
    $_pagi_actual = $_GET[“_pagi_pg”];
    }
    //————————————————————————

    /*
    * Establecimiento del número de páginas y del total de registros.
    *————————————————————————
    */
    // Contamos el total de registros en la BD (para saber cuántas páginas serán)
    // La forma de hacer ese conteo dependerá de la variable $_pagi_conteo_alternativo
    if($_pagi_conteo_alternativo == false){
    //$_pagi_sqlConta = eregi_replace(“select[[:space:]](.*)[[:space:]]from”, “SELECT COUNT(*) FROM”, $_pagi_sql);
    $_pagi_sqlConta = preg_replace(“/select[[:space:]](.*)[[:space:]]from”, “SELECT COUNT(*) FROM”, $_pagi_sql);
    $_pagi_result2 = mysql_query($_pagi_sqlConta);
    // Si ocurrió error y mostrar errores está activado
    if($_pagi_result2 == false && $_pagi_mostrar_errores == true){
    die (” Erro numero 1: $_pagi_sqlConta. Mysql dijo: “.mysql_error().”“);
    }
    $_pagi_totalReg = mysql_result($_pagi_result2,0,0);//total de registros
    }else{
    $_pagi_result3 = mysql_query($_pagi_sql);
    // Si ocurrió error y mostrar errores está activado
    if($_pagi_result3 == false && $_pagi_mostrar_errores == true){
    die (” erro numero 2: $_pagi_sql. Mysql dijo: “.mysql_error().”“);
    }
    $_pagi_totalReg = mysql_num_rows($_pagi_result3);
    }
    // Calculamos el número de páginas (saldrá un decimal)
    // con ceil() redondeamos y $_pagi_totalPags será el número total (entero) de páginas que tendremos
    $_pagi_totalPags = ceil($_pagi_totalReg / $_pagi_cuantos);

    //————————————————————————

    /*
    * Propagación de variables por el URL.
    *————————————————————————
    */
    // La idea es pasar también en los enlaces las variables hayan llegado por url.
    $_pagi_enlace = $_SERVER[“PHP_SELF”];
    $_pagi_query_string = “?”;

    if(!isset($_pagi_propagar)){
    //Si no se definió qué variables propagar, se propagará todo el $_GET (por compatibilidad con versiones anteriores)
    //Perdón… no todo el $_GET. Todo menos la variable _pagi_pg
    if (isset($_GET[“_pagi_pg”])) unset($_GET[“_pagi_pg”]); // Eliminamos esa variable del $_GET
    $_pagi_propagar = array_keys($_GET);
    }elseif(!is_array($_pagi_propagar)){
    // si $_pagi_propagar no es un array… grave error!
    die(“Error Paginator : La variable $_pagi_propagar debe ser un array”);
    }
    // Este foreach está tomado de la Clase Paginado de webstudio
    // (http://www.forosdelweb.com/showthread.php?t=65528)
    foreach($_pagi_propagar as $var){
    if(isset($GLOBALS[$var])){
    // Si la variable es global al script
    $_pagi_query_string.= $var.”=”.$GLOBALS[$var].”&”;
    }elseif(isset($_REQUEST[$var])){
    // Si no es global (o register globals está en OFF)
    $_pagi_query_string.= $var.”=”.$_REQUEST[$var].”&”;
    }
    }

    // Añadimos el query string a la url.
    $_pagi_enlace .= $_pagi_query_string;

    //————————————————————————

    /*
    * Generación de los enlaces de paginación.
    *————————————————————————
    */
    // La variable $_pagi_navegacion contendrá los enlaces a las páginas.
    $_pagi_navegacion_temporal = array();
    if ($_pagi_actual != 1){
    // Si no estamos en la página 1. Ponemos el enlace “primera”
    $_pagi_url = 1; //será el número de página al que enlazamos
    $_pagi_navegacion_temporal[] = “$_pagi_nav_primera“;

    // Si no estamos en la página 1. Ponemos el enlace “anterior”
    $_pagi_url = $_pagi_actual – 1; //será el número de página al que enlazamos
    $_pagi_navegacion_temporal[] = “$_pagi_nav_anterior“;
    }

    // La variable $_pagi_nav_num_enlaces sirve para definir cuántos enlaces con
    // números de página se mostrarán como máximo.
    // Ojo: siempre se mostrará un número impar de enlaces. Más info en la documentación.

    if(!isset($_pagi_nav_num_enlaces)){
    // Si no se definió la variable $_pagi_nav_num_enlaces
    // Se asume que se mostrarán todos los números de página en los enlaces.
    $_pagi_nav_desde = 1;//Desde la primera
    $_pagi_nav_hasta = $_pagi_totalPags;//hasta la última
    }else{
    // Si se definió la variable $_pagi_nav_num_enlaces
    // Calculamos el intervalo para restar y sumar a partir de la página actual
    $_pagi_nav_intervalo = ceil($_pagi_nav_num_enlaces/2) – 1;

    // Calculamos desde qué número de página se mostrará
    $_pagi_nav_desde = $_pagi_actual – $_pagi_nav_intervalo;
    // Calculamos hasta qué número de página se mostrará
    $_pagi_nav_hasta = $_pagi_actual + $_pagi_nav_intervalo;

    // Ajustamos los valores anteriores en caso sean resultados no válidos

    // Si $_pagi_nav_desde es un número negativo
    if($_pagi_nav_desde $_pagi_totalPags){
    // Le restamos la cantidad excedida al comienzo para mantener el número de enlaces que se quiere mostrar.
    $_pagi_nav_desde -= ($_pagi_nav_hasta – $_pagi_totalPags);
    // Establecemos $_pagi_nav_hasta como el total de páginas.
    $_pagi_nav_hasta = $_pagi_totalPags;
    // Hacemos el último ajuste verificando que al cambiar $_pagi_nav_desde no haya quedado con un valor no válido.
    if($_pagi_nav_desde < 1){
    $_pagi_nav_desde = 1;
    }
    }
    }

    for ($_pagi_i = $_pagi_nav_desde; $_pagi_i<=$_pagi_nav_hasta; $_pagi_i++){//Desde página 1 hasta última página ($_pagi_totalPags)
    if ($_pagi_i == $_pagi_actual) {
    // Si el número de página es la actual ($_pagi_actual). Se escribe el número, pero sin enlace y en negrita.
    $_pagi_navegacion_temporal[] = "$_pagi_i“;
    }else{
    // Si es cualquier otro. Se escibe el enlace a dicho número de página.
    $_pagi_navegacion_temporal[] = ““.$_pagi_i.”“;
    }
    }

    if ($_pagi_actual < $_pagi_totalPags){
    // Si no estamos en la última página. Ponemos el enlace "Siguiente"
    $_pagi_url = $_pagi_actual + 1; //será el número de página al que enlazamos
    $_pagi_navegacion_temporal[] = "$_pagi_nav_siguiente“;

    // Si no estamos en la última página. Ponemos el enlace “Última”
    $_pagi_url = $_pagi_totalPags; //será el número de página al que enlazamos
    $_pagi_navegacion_temporal[] = “$_pagi_nav_ultima“;
    }
    $_pagi_navegacion = implode($_pagi_separador, $_pagi_navegacion_temporal);

    //————————————————————————

    /*
    * Obtención de los registros que se mostrarán en la página actual.
    *————————————————————————
    */
    // Calculamos desde qué registro se mostrará en esta página
    // Recordemos que el conteo empieza desde CERO.
    $_pagi_inicial = ($_pagi_actual-1) * $_pagi_cuantos;

    // Consulta SQL. Devuelve $cantidad registros empezando desde $_pagi_inicial
    $_pagi_sqlLim = $_pagi_sql.” LIMIT $_pagi_inicial,$_pagi_cuantos”;
    $_pagi_result = mysql_query($_pagi_sqlLim);
    // Si ocurrió error y mostrar errores está activado
    if($_pagi_result == false && $_pagi_mostrar_errores == true){
    die (“Error en la consulta limitada: $_pagi_sqlLim. Mysql dijo: “.mysql_error().”“);
    }

    //————————————————————————

    /*
    * Generación de la información sobre los registros mostrados.
    *————————————————————————
    */
    // Número del primer registro de la página actual
    $_pagi_desde = $_pagi_inicial + 1;

    // Número del último registro de la página actual
    $_pagi_hasta = $_pagi_inicial + $_pagi_cuantos;
    if($_pagi_hasta > $_pagi_totalReg){
    // Si estamos en la última página
    // El ultimo registro de la página actual será igual al número de registros.
    $_pagi_hasta = $_pagi_totalReg;
    }

    $_pagi_info = “desde el $_pagi_desde hasta el $_pagi_hasta de un total de $_pagi_totalReg”;

    //————————————————————————

    /**
    * Variables que quedan disponibles después de incluir el script vía include():
    * ————————————————————————

    * $_pagi_result Identificador del resultado de la consulta a la BD para los registros de la página actual.
    Listo para ser “pasado” por una función como mysql_fetch_row(), mysql_fetch_array(),
    mysql_fetch_assoc(), etc.

    * $_pagi_navegacion Cadena que contiene la barra de navegación con los enlaces a las diferentes páginas.
    Ejemplo: “<<primera | | última>>”.

    * $_pagi_info Cadena que contiene información sobre los registros de la página actual.
    Ejemplo: “desde el 16 hasta el 30 de un total de 123″;

    */
    ?>

    Minha consulta (meu problema)



    Resultado da Busca:

    <?php
    include("../lib/connect.php");

    $pesquisa = $_POST['pesquisa'];
    $filtro = $_POST['filtro'];

    switch ($filtro){
    case 'titulo':
    $sql = "SELECT * FROM acervo inner join autores_do_acervo on acervo.ACE_CODIGO = autores_do_acervo.ACE_CODIGO inner join autores
    on autores.AUT_CODIGO = autores_do_acervo.AUT_CODIGO WHERE ACE_TITULO LIKE '%$pesquisa%' ";
    print "”;

    $_pagi_sql = mysql_query($sql);

    include(“../pages/paginator.inc.php”);

    print ” Procurando por: “.$pesquisa.””;
    print ” Foram encontrados: ” . mysql_affected_rows() . ” Registro(s) “.””;
    print “”;

    while($linha = mysql_fetch_assoc($_pagi_sql)){
    //print “Código: “.$linha[‘DISC_CODIGO’].””;
    print “Título: “.$linha[‘ACE_TITULO’].””;
    print “Autor: “.$linha[‘AUT_NOME’]. “”;
    print “Ano: “.$linha[‘ACE_ANO’].””;
    print “Descrição: “.$linha[‘ACE_OUTROS’].””;
    print “Download: ” . “Clique Aqui” . “”;
    print “”;
    }
    break;

    //include(“../pages/paginator.inc.php”);

    ?>
    Voltar Para Busca

    • Posted 11 de agosto de 2011 at 19:15 | Permalink

      Olá amigo, dê mais detalhes do seu problema, para que eu possa te ajudar.

      Att,
      Lucas Schirm

  14. Allexandre Castello
    Posted 9 de setembro de 2011 at 13:17 | Permalink

    Parabéns pelo site, graças a vc problema resolvido !! Um abraço

  15. Alexsandro
    Posted 7 de outubro de 2011 at 12:21 | Permalink

    A correção para a Function ereg_replace() também se aplica a Function eregi_replace()? Se SIM como faço a alteração para este trecho de código:

    $p_string = eregi_replace( ‘<(‘ . $tags . ‘)[[:space:]]*>’, ”, $p_string );

    Essa é linha referenciada no erro do Mantis ao cadastrar um novo caso sem informar os campos obrigatórios.

    • Posted 7 de outubro de 2011 at 17:52 | Permalink

      Olá amigo,

      Sua dúvida é muito pertinente, atualizei o post para poder te responder.

      Agradeço o comentário :)

      • Posted 7 de outubro de 2011 at 18:35 | Permalink

        Olá Lucas,

        Infelizmente ainda não consegui resolver meu problema. No meu caso fiz a seguinte alteração:

        De:
        $p_string = eregi_replace( ‘<(‘ . $tags . ‘)[[:space:]]*>’, ”, $p_string );

        Para:
        $p_string = echo preg_replace( ‘/<(‘ . $tags . ‘)[[:space:]]*>/i’, ”, $p_string );

        A alteração está correta?

        Att.
        Alexsandro Rocha

        • Posted 8 de outubro de 2011 at 10:10 | Permalink

          Olá Alexsandro,

          Basta tirar o echo:
          $p_string = preg_replace( ‘//i’, ”, $p_string );

          • Posted 10 de outubro de 2011 at 13:38 | Permalink

            Lucas,

            Obrigado! Funcionou.
            Procurava a correção para esse problema faz tempo. Agora sugiro, aualizar o post porque no exemplo diz para usar o “echo” tanto para a function ereg_replace() como para eregi_replace().

            Abraço,

            Att.
            Alexsandro Rocha

          • Posted 11 de outubro de 2011 at 11:41 | Permalink

            O echo não é obrigatório, mas funciona bem em exemplos ;)

  16. Dieniffer
    Posted 20 de outubro de 2011 at 17:53 | Permalink

    Como resolver esse problema:

    if (preg_match (“([0-9]{1,2})[|-]([0-9]{1,2})[|-]([0-9]{4}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})”, $data, $sep)) {

    $dia = $sep[1];
    $mes = $sep[2];
    $ano = $sep[3];
    $hora = $sep[4];
    $minuto = $sep[5];
    $segundo = $sep[6];
    } else
    //formato americano com hora
    if (preg_match (“([0-9]{4})[|-]([0-9]{1,2})[|-]([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})”, $data, $sep)) {
    $dia = $sep[3];
    $mes = $sep[2];
    $ano = $sep[1];
    $hora = $sep[4];
    $minuto = $sep[5];
    $segundo = $sep[6];
    } else
    print “Invalid date format!!”;

    Warning: preg_match() [function.preg-match]: Unknown modifier ‘[‘ in C:wampwwwocomonincludesclassesdateOpers.class.php on line 46

    Warning: preg_match() [function.preg-match]: Unknown modifier ‘[‘ in C:wampwwwocomonincludesclassesdateOpers.class.php on line 56
    Invalid date format!!

    Obrigada

    • Posted 21 de outubro de 2011 at 13:25 | Permalink

      Olá Dieniffer,

      Basta colocar um novo demarcador no seu pattern, ficaria assim:

      preg_match (“/([0-9]{4})[|-]([0-9]{1,2})[|-]([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})/”, $data, $sep)

      As barras no inicio e no fim demarcam o inicio e o fim da sua expressão, deve utilizar sempre que for utilizar preg_match

  17. Chris
    Posted 28 de novembro de 2011 at 21:52 | Permalink

    Amigos,

    O meu codigo é:
    $this->_origem = GetConfig(‘CompanyZip’);
    $sCepOrigem = eregi_replace(“([^0-9])”,””,$this->_origem);
    $this->_destino = $this->_destination_zip;
    $sCepDestino = eregi_replace(“([^0-9])”,””,$this->_destino);
    $this->_peso = number_format(max(ConvertWeight($this->_weight, ‘kgs’), 0.1), 1);

    É uma função de Calculo de Frete. E esta dando o erro:

    Deprecated: Function eregi_replace() is deprecated in /home/xx/public_html/modules/shipping/pac/module.pac.php on line 69

    Deprecated: Function eregi_replace() is deprecated in /home/xx/public_html/modules/shipping/pac/module.pac.php on line 71

    Alguem pode me ajudar???

  18. Daniel
    Posted 1 de dezembro de 2011 at 13:43 | Permalink

    Alguem saberia como fica:

    return (eregi(
    ‘^[-!#$%&’*+\./0-9=?A-Z^_`{|}~]+’. // the user name
    ‘@’. // the ubiquitous at-sign
    ‘([-0-9A-Z]+.)+’ . // host, sub-, and domain names
    ‘([0-9A-Z]){2,4}$’, // top-level domain (TLD)
    trim($email)));
    ??

    Eu troquei por:

    return ( preg_match(
    ‘/^[-!#$%&’*+\./0-9=?A-Z^_`{|}~]+’. // the user name
    ‘@’. // the ubiquitous at-sign
    ‘([-0-9A-Z]+.)+’ . // host, sub-, and domain names
    ‘([0-9A-Z]){2,4}$/i’, // top-level domain (TLD)
    trim($email)));

    mas não rolou, acredito que seja algo nessas concatenações…

    • Posted 1 de dezembro de 2011 at 15:50 | Permalink

      Olá amigo, exatamente do jeito que você fez, você só esqueceu dos delimitadores de expressão.

      return (preg_match(
      ‘/^[-!#$%&’*+\./0-9=?A-Z^_`{|}~]+’. // the user name
      ‘@’. // the ubiquitous at-sign
      ‘([-0-9A-Z]+.)+’ . // host, sub-, and domain names
      ‘([0-9A-Z]){2,4}$/’, // top-level domain (TLD)
      trim($email)));

  19. Uslei
    Posted 16 de dezembro de 2011 at 00:27 | Permalink

    Cara valeu, deu certinho.

  20. Danilo Bressane
    Posted 3 de janeiro de 2012 at 12:40 | Permalink

    Muito obrigado pelo post!! Realmente o codigo descrito resolveu o problema que estava ocorrendo!!

    //Para o código:
    //if(ereg(“abc”, “nabc,nobc,treabc”)) { //faz se achar}
    //será substituido por:
    if(preg_match(“/abc/”, “nabc,nobc,treabc”))
    {
    // faz se achar
    }

    Valeu!!!!

  21. Erick Medeiros
    Posted 3 de fevereiro de 2012 at 01:31 | Permalink

    Gostaria de como encontrar solução para esta função ereg

    <?php
    extract ($_POST);
    // determina se numero de telefone é valido e imprime
    // uma mensagem de erro se não for
    if (!ereg("^([0-9]{3})-[0-9]{3}-[0-9]{4}$", $phone))
    {
    print("

    Número de telefone inválido
    Um número de telefone válido deve ser na forma:
    (555)555-5555

    Clique no botão Voltar, digite um telefone válido.
    número e reenviar.
    Obrigado.”);
    die(“”);//termina execução do script
    }
    ?>

  22. Posted 17 de fevereiro de 2012 at 14:09 | Permalink

    Meu amigo que artigo show de bola!!! resolveu um drama do mal aqui no meu trabalho, está de parabens! Valeu cara!

  23. Posted 26 de fevereiro de 2012 at 17:44 | Permalink

    Rapaz, estão de parabéns! Uso o cutenews a um tempo nos meus projetos pelo fato de que conheço muito pouco o PHP, e confesso que com as dicas que vcs deram conseguir atualizar todos os scripts obsoletos. Resolveu o meu problema. Mais uma vez, meus parabéns pelo ótimo artigo. Já está aqui nos meus favoritos.

  24. Posted 17 de março de 2012 at 22:21 | Permalink

    como resolver o erro
    Deprecated: Function split() is deprecated em

    $msg2 = $dados[“texto”];
    $str = split(” “,$msg2); — ERRO APONTANDO PARA ESTA LINHA
    $msg = “”;

    • Posted 27 de março de 2012 at 18:58 | Permalink

      Olá amigo,

      Você pode utilizar a função explode(), ficaria assim:

      $str = explode(” “,$msg2); — ERRO APONTANDO PARA ESTA LINHA

  25. Posted 29 de março de 2012 at 20:12 | Permalink

    Boa tarde Lucas.

    Ao tentar acessar o ocomon, logo apos o login (usuário admin e senha admin) surgem as seguintes mensagens.

    Deprecated: Function ereg_replace() is deprecated in /home/essencia/public_html/ocomon/includes/menu/phplm320/lib/layersmenu-common.inc.php on line 487

    Deprecated: Function ereg_replace() is deprecated in /home/essencia/public_html/ocomon/includes/menu/phplm320/lib/layersmenu-common.inc.php on line 793

    Fiz os procedimentos os quais menciou acima, os quais não tiveram efeito.
    Se puder me ajudar, pois esse sistema é uma mão na roda para ocorrencias nas manutenções na area de informatica.
    Desde já lhe agradeço muito.

    Marcelo

  26. Posted 15 de abril de 2012 at 22:50 | Permalink

    olá amigos do ogenial.com eu também tenho um probleminhas no meus códigos que leva essa função exemplo meu código esta assim:
    <?php
    if(eregi(basename(__FILE__), $HTTP_SERVER_VARS[REQUEST_URI]))
    die ("You can't access this file directly! Please go to the startpage!");

    $VERSIONS[basename(__FILE__)] = "3.0";
    $TMP['%[GRIDS]%'] = '';

    while(list($gkey,$gval) = each($GRID)) {
    if($gval['active'] && !$gval['plugin']) {
    $gwidth = $gval['grid_type'] ? $gridsizes[$gval['grid_type']]['x'] : (int)($gval['x']*$gval['blocksize_x']);
    $gheight = $gval['grid_type'] ? $gridsizes[$gval['grid_type']]['y'] : (int)($gval['y']*$gval['blocksize_y']);
    $x_plus = $gval['grid_type'] ? $gridsizes[$gval['grid_type']]['x+'] : 0;
    $y_plus = $gval['grid_type'] ? $gridsizes[$gval['grid_type']]['y+'] : 0;
    $gridfile = 'grids/grid_'.$gval['gridid'].'.'.$iformat[$gval['image_format']];
    if($_GET['gridsearch']) {
    $gridfile = 'sr.php?gr='.$gval['gridid'].'&f='.$_GET['gridsearch'].'&x='.time();
    $gval['hoverimage'] = $gval['animated'] = false;
    }

    ob_start();

    if($gval['hoverimage'] || $gval['animated']) print '';

    print ”;
    print ”;

    if($_GET[‘gridsearch’]) {
    makemap(false,false,$gval[‘gridid’],true,DB_array(“SELECT userid FROM “.$dbprefix.”user WHERE (url LIKE ‘%”.mysql_real_escape_string(stripslashes($_GET[‘gridsearch’])).”%’ OR title LIKE ‘%”.mysql_real_escape_string(stripslashes($_GET[‘gridsearch’])).”%’) AND submit IS NOT NULL AND gridid='”.$gval[‘gridid’].”‘”,’+’),true);
    } else {
    @include(‘grids/area_’.$gval[‘gridid’].’.htm’);
    }
    print ”;
    if($_GET[‘zoom’]) {
    print ”;
    print ”;
    } else {
    print ”;
    }

    print ”;

    if($gval[‘hoverimage’] || $gval[‘animated’] || is_array($SHOW_JOB[$gval[‘gridid’]])) print ”; // Jobs

    $TMP[‘%[GRIDS]%’] .= $TMP[‘%[GRID_’.$gval[‘gridid’].’]%’] = ob_get_contents();
    ob_end_clean();

    if($gval[‘show_box’] == !$_GET[‘zoom’]) $include_tooltip = true;
    }
    }

    if(@file_exists($LANGDIR.’header_grids_page’.$PAGE_ID.’.htm’)) {
    print template($LANGDIR.’header_grids_page’.$PAGE_ID.’.htm’,$TMP);
    } else {
    print template($LANGDIR.’header_grids.htm’,$TMP);
    }

    ?>

    no meu caso eu teria que trocar if(eregi(basename(__FILE__), $HTTP_SERVER_VARS[REQUEST_URI]))

    por: if(preg_match(basename(__FILE__), $HTTP_SERVER_VARS[REQUEST_URI]))
    ou teria mas algo.
    Por que com o problema Function eregi()
    esta dando error em outras paginas que também leva o if(ereg(
    pois sou novato também e gostaria de umas orientações por favor se puder é claro ok um forte abraço a todos.

  27. Posted 16 de abril de 2012 at 21:44 | Permalink

    Olá pessoal estou com o seguinte problema quando vou enviar um email utilizando o meu formulário de Email apresenta a seguinte mensagem “Deprecated: Function eregi() is deprecated in contact.php on line 9
    ArrayEnter valid your infomation, please”

    o código fonte e esse alguém poderia me ajudar a corrigir esse problema.

    ” $value){
    if(in_array($value,$required)){
    if ($key != ‘subject’) {
    if( empty($_POST[$value]) ) { echo ‘Enter info in Required field'; exit; }
    }
    $email_content .= $value.': ‘.$_POST[$value].”n”;
    }
    }

    if(@mail($your_email,$email_subject,$email_content)) {
    echo ‘Message sent !';
    } else {
    echo ‘ERROR!';
    }
    }
    ?>”

  28. Alex
    Posted 21 de maio de 2012 at 19:40 | Permalink

    Olá amigo,
    Estou com problemas para resolver no código abaixo:
    if(eregi(basename(__FILE__), $HTTP_SERVER_VARS[REQUEST_URI]))
    die (“You can’t access this file directly! Please go to the startpage!”);
    $VERSIONS[basename(__FILE__)] = “3.0”;
    $TMP[‘%[GRIDS]%’] = ”;

  29. Posted 24 de maio de 2012 at 17:48 | Permalink

    Muito bom :)

  30. Posted 26 de maio de 2012 at 04:37 | Permalink

    Alguém poderia ajudar para transformar o código abaixo:
    Veja que aparece 2 vezes a função eregi().

    } if (($lang_type == 1 && eregi(‘^(‘ . $value[0] . ‘)(;q=[0-9]\.[0-9])?$’, $lang_str)) || ($lang_type == 2 && eregi(‘((|[|;[[:space:]])(‘ . $value[0] . ‘)(;|]|))’, $lang_str))) { $lang = strtolower($key); break; } } reset($LANG_ACTIVE); } function hex2rgb($hex) { $hex = preg_replace(“/[^a-fA-F0-9]/”,”,$hex);

    Estou quebrando a cabeça e não consigo!

  31. Posted 26 de maio de 2012 at 16:20 | Permalink

    Problema resolvido, muito obrigadooo

  32. vitor
    Posted 4 de junho de 2012 at 04:07 | Permalink

    ola pessoal, ja tentei varias formas de substituir o ereg por preg_match, porem sem sucesso nenhum alguém sabe me dizer como ficaria certo?

    if (ereg($pattern,$email)){
    return TRUE;}
    else {
    return FALSE;}

    • Posted 4 de junho de 2012 at 11:21 | Permalink

      Faltou linhas ai para podermos te ajudar, precisamos saber o conteúdo de $pattern

      • vitor
        Posted 5 de junho de 2012 at 00:21 | Permalink

        seria uma validação de e-mail..

        function validarEmail($email){
        $conta = “^[a-zA-Z0-9._-]+@”;
        $dominio = “[a-zA-Z0-9._-]+.”;
        $extensao = “([a-zA-Z]{2,4})$”;
        $pattern = $conta.$dominio.$extensao;

        if (ereg($pattern,$email)){
        return TRUE;}
        else {
        return FALSE;}

  33. LLSC1
    Posted 4 de junho de 2012 at 16:56 | Permalink

    Uso o Interspire e estou com este mesmo problema no modulos correios após mudança na versão do PHP esta dica serve neste caso? Desde já agradeço!

  34. Douglas
    Posted 18 de junho de 2012 at 04:24 | Permalink

    Vlw mto, tava com esse problema em um codigo que tinha feito em 2006

  35. junior
    Posted 24 de junho de 2012 at 17:08 | Permalink

    Fiz a mudança e nunca consegui, segue abaixo o codigo:
    eregi_replace(‘.([a-z]{3,4})’, ‘-‘ . $width . ‘x’ . $height . ‘.jpg’, $filename);

    • Posted 26 de junho de 2012 at 13:17 | Permalink

      Ficaria assim:
      preg_replace(‘/.([a-z]{3,4})/i’, ‘-’ . $width . ‘x’ . $height . ‘.jpg’, $filename);

  36. JPK
    Posted 28 de julho de 2012 at 21:06 | Permalink

    Muito obrigado amigo ;D

  37. Makie san
    Posted 1 de agosto de 2012 at 00:57 | Permalink

    Boa noite ^^

    Ao inserir uma imagem, aparece esse erro

    Deprecated: Function eregi() is deprecated in

    Segue abaixo o código atual:

    if (!eregi(“^image/(pjpeg|jpeg|gif)$”, $_FILES[‘upload_imagem’][‘type’]))

    Tentei de algumas formas, mesmo assim não consegui.. poderia me ajudar? sou nova nessa área

    Obrigada

  38. Felipe Dias
    Posted 1 de agosto de 2012 at 12:36 | Permalink

    Olá amigo, consegue me ajudar com a minha função?

    Segue o código.

    function texto($texto){
    $texto_arrumado = preg_replace(“/(\r)?\n/i”, “”, $texto);
    $texto_covertido = ereg_replace(“[[:alpha:]]+://[^[:space:]]+[[:alnum:]/]”,
    “, $texto_arrumado);
    return $texto_covertido;
    }

  39. douglas
    Posted 1 de agosto de 2012 at 22:57 | Permalink

    preciso de ajuda por favor
    erro

    Deprecated: Function eregi() is deprecated in

    =============================================
    codigo
    if(eregi(“^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$”, $email)) {

  40. Makie san
    Posted 1 de agosto de 2012 at 23:08 | Permalink

    Boa noite

    Ao inserir uma imagem, o mesmo apresenta esse erro:

    Deprecated: Function eregi() is deprecated in

    Segue abaixo o código atual

    if (!eregi(“^image/(pjpeg|jpeg|gif)$”, $_FILES[‘upload_imagem’][‘type’]))

    Tentei alterá-lo mas não consegui

  41. Posted 28 de agosto de 2012 at 23:36 | Permalink

    Olá.

    Estou com um problema com a alteração dessa função há semanas, e não consigo sair do lugar. Imagino que seja coisa bem simples, mas sempre patino e não saio do lugar.

    Segue código:

    function getphotos($photodir) {
    global $thumbext;
    $photos=array();
    if ($handle = opendir($photodir)) {
    while (false !== ($file = readdir($handle))) {
    if ($file != “.” && $file != “..” && !eregi(“.jpg”.$thumbext.”$”,$file) && eregi(“.jpg$”,$file)){
    $photos[] = $file;
    }
    }
    closedir($handle);
    }
    sort($photos);
    return $photos;
    }

    Agradeço a quem puder ajudar!!!

    • Posted 29 de agosto de 2012 at 13:28 | Permalink

      ótimo exemplo de como não explicar qual é o problema :) falta tudo, menos qual a dificuldade…

      • Posted 12 de setembro de 2012 at 22:17 | Permalink

        Hahaha! Putz! Verdade, Lucas! Que inhaca! Só o código não adianta! rs!

        Bom…. Fiz a troca da função eregi pela preg_match, ficando a linha do 2º if dessa maneira:

        if ($file != “.” && $file != “..” && !preg_match(/^’.jpg’/i.$thumbext.”$”,$file) && preg_match(/^’.jpg$’/i,$file)){

        Porém… Ao efetuar o teste, ocorre:

        Parse error: syntax error, unexpected ‘/’, expecting ‘)’ in /home/clubepr/public_html/fotos/2010/09-setembro/12/index.php on line 215

        Já revirei essa linha de cabeça pro ar, e não achei onde está o erro..

        Valeu!

  42. Fabiane Spengler
    Posted 29 de agosto de 2012 at 18:36 | Permalink

    Muito eficiente, deu certinho!! :D

  43. Claudio
    Posted 3 de setembro de 2012 at 14:41 | Permalink

    Uma dúvida, como ficaria a validação de e-mail que utilizo atualmente desta forma?
    if (!eregi(“^[a-z0-9_.-]+@[a-z0-9_.-]*[a-z0-9_-]+.[a-z]{2,4}$”, $email)) {
    echo “Digite um email válido”;
    }
    Sou iniciante, tentei aqui mas não rolou…
    Valeu!

  44. Jorge
    Posted 14 de setembro de 2012 at 18:42 | Permalink

    Como ficaria esse código:

    function get_image_artist($file_path){
    GLOBAL $artist;
    foreach($artist as $u){
    if ( ereg($u[0],$file_path) )
    return $u[1];
    }
    return “”;
    }

    Acho que o $u é isso aqui:

    // remove extra lines
    $u = trim($u);
    $getlines = explode(“n”,$u);
    if ($u == “”) continue;

    Obrigado.

  45. Posted 18 de setembro de 2012 at 02:20 | Permalink

    Ola amigo gostaria de saber se poderia me ajudar estou tendo esse problema na hora de configurar o mudulo de frete em um loja.Não entendo nada de php.Estou tentando resolver esse problema ja faz 3 dias.Pesquisei muito na net até que cheguei ao seu site,no caso o codigo seria esse:
    $this->SetCustomVars();

    $this->_id = $this->GetValue(“id”);
    $this->_senha = $this->GetValue(“senha”);

    $this->_origem = GetConfig(‘CompanyZip’);
    $sCepOrigem = eregi_replace(“([^0-9])”,””,$this->_origem);
    $this->_destino = $this->_destination_zip;
    $sCepDestino = eregi_replace(“([^0-9])”,””,$this->_destino);
    $this->_peso = number_format(max(ConvertWeight($this->_weight, ‘kgs’), 0.1), 1);

    Por favor amigo corrige para mim.Desde já agradeço.

  46. Posted 21 de setembro de 2012 at 14:06 | Permalink

    Bom dia Amigo!

    Gostaria que me ajudasse a solucionar um problema, quando entro no meu site ele aparece um erro assim:
    Deprecated: Function eregi() is deprecated in /home/equipesy/public_html/pixelanuncie/grids.php on line 23

    procurei a linhagem e la esta o código assim?
    if(eregi(basename(__FILE__), $HTTP_SERVER_VARS[REQUEST_URI]))

    ai mudei da forma que você passou e ficou assim:
    if(preg_match(basename(__FILE__), $HTTP_SERVER_VARS[REQUEST_URI]))

    quando fiz a alteração que você me passou apareceu o seguinte erro no site:
    Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /home/equipesy/public_html/pixelanuncie/grids.php on line 23

    se Puder me ajudar! Aguardo seu contato*

  47. Carlos Eduardo
    Posted 3 de outubro de 2012 at 05:45 | Permalink

    Tenho erro nesta linha

    if (!eregi(“^[0-9]{5}-[0-9]{3}$”, $cep)) {
    echo ‘     Digite um CEP valido!!‘;
    } else {

    com o exemplo por acaso ficaria assim ?

    if (preg_match(“/^[0-9]{5}-[0-9]{3}$/i”, $cep)) {
    echo ‘     Digite um CEP valido!!‘;
    } else {

  48. Posted 6 de outubro de 2012 at 20:46 | Permalink

    Alguem me pode ajudar nesta função?

    $this->f = ereg_replace(‘[^a-z]’, ”, strtolower($this->f));
    if (strtolower($this->config_output_format) == ‘jpg’) {
    $this->config_output_format = ‘jpeg';

  49. Posted 23 de outubro de 2012 at 22:43 | Permalink

    Muito bom.
    Gosto quando as coisas são simples assim (e funcionam)!
    Obrigado! Salvou minha vida :)
    JL.WD

  50. diogo braga
    Posted 25 de outubro de 2012 at 23:27 | Permalink

    perfeit funcionou 100% muito obrigado meu brother

  51. Posted 15 de janeiro de 2013 at 21:39 | Permalink

    Ola..se me puderem ajudar, estou com o seguinte problema no site de calculo de frete e comprar/carrinho. Se poderiam me envia com o codigos corrigido, agredeço muito.
    1) Deprecated: Function eregi() is deprecated in

    No codigo:

    if (!eregi(“^[0-9]{5}-[0-9]{3}$”, $cep)) {
    echo ‘     Digite um CEP valido!!‘;
    } else {
    ?>

    2) Function eregi_replace() is deprecated in

    $this->_origem = GetConfig(‘CompanyZip’);
    $sCepOrigem = eregi_replace(“([^0-9])”,””,$this->_origem);
    $this->_destino = $this->_destination_zip;
    $sCepDestino = eregi_replace(“([^0-9])”,””,$this->_destino);
    $this->_peso = number_format(max(ConvertWeight($this->_weight, ‘kgs’), 0.1), 1);

  52. Posted 27 de março de 2013 at 13:30 | Permalink

    Ola, se poderia ajudar agradeço:

    Estou com o seguinte mensagem o painel admin:

    Deprecated: Function eregi() is deprecated in /home/agnolin/public_html/painel/layt_e.php(3) : eval()’d code(1) : eval()’d code on line 1

    e o alerta e todas as edições de menus:

    Warning: Cannot modify header information – headers already sent by (output started at /home/agnolin/public_html/painel/layt_e.php(3) : eval()’d code(1) : eval()’d code:1) in /home/agnolin/public_html/includes/common/KT_functions.inc.php on line 425

    alem de quando vou atualizar um item de config no admin com esta mensagem:

    Warning: Parameter 2 to Trigger_Default_FormValidation() expected to be a reference, value given in /home/agnolin/public_html/includes/tng/tNG.class.php on line 217

    o desenvolvedor do site “sumiu”.. e agora..kkkk

  53. Posted 5 de maio de 2013 at 13:38 | Permalink

    Estou tendo problemas com o código abaixo que está dando o seguinte erro:

    Deprecated: Function eregi_replace() is deprecated in C:wampwwwvideo_aulabloglibpaginator.inc.php on line 41

    Como corrijo isso?

    Obrigada.

    Fotos

    0) {
    while($ln = mysql_fetch_array($result)){
    ?>

    <a href="img/fotos/” rel=”lyteshow” title=””>
    <img src="lib/rdmc.php?src=/img/fotos/&h=80″ alt=”” />

    0) {
    echo””.$navegacion.””;
    }
    }
    ?>

  54. Rodrigo
    Posted 11 de junho de 2013 at 16:53 | Permalink

    Antes
    $this->tree[$cnt][‘parsed_href’] = (ereg_replace(‘ ‘, ”, $this->tree[$cnt][‘href’]) == ”) ? ‘#’ : $this->prependedUrl . $this->tree[$cnt][‘href’];
    $this->tree[$cnt][‘parsed_title’] = ($this->tree[$cnt][‘title’] == ”) ? ” : ‘ title=”‘ . stripslashes($this->tree[$cnt][‘title’]) . ‘”‘;
    _____________________________________________________
    Agora (o que devo fazer)
    $this->tree[$cnt][‘parsed_href’] = (preg_match(‘ ‘, ”, $this->tree[$cnt][‘href’]) == ”) ? ‘#’ : $this->prependedUrl . $this->tree[$cnt][‘href’];
    $this->tree[$cnt][‘parsed_title’] = ($this->tree[$cnt][‘title’] == ”) ? ” : ‘ title=”‘ . stripslashes($this->tree[$cnt][‘title’]) . ‘”‘;

    • Rodrigo
      Posted 11 de junho de 2013 at 16:58 | Permalink

      só que continua dando erro

      LayersMenu Error: setMenuStructureString: empty string.
      Halted.

  55. Ielton Sousa
    Posted 17 de junho de 2013 at 23:25 | Permalink

    Você poderia me ajudar na correção abaixo, pois trata-se duma tela de login e estou a usar o php 5.3 e fica aparecendo o erro na linha 11 e 22 se não me engando relacionado a ereg deprecated.

    grato pela atenção

    <?PHP

    // —— create table variable ——

    // variables for Netscape Navigator 3 & 4 are +4 for compensation of render errors

    $Browser_Type = strtok($HTTP_ENV_VARS['HTTP_USER_AGENT'], "/");

    if ( ereg( "MSIE", $HTTP_ENV_VARS['HTTP_USER_AGENT']) || ereg( "Mozilla/5.0", $HTTP_ENV_VARS['HTTP_USER_AGENT']) || ereg ("Opera/5.11", $HTTP_ENV_VARS['HTTP_USER_AGENT']) ) {

    $theTable = 'WIDTH="400" HEIGHT="245"';

    } else {

    $theTable = 'WIDTH="400" HEIGHT="245"';

    }

    //echo $HTTP_ENV_VARS["QUERY_STRING"];

    // —— create document-location variable ——

    if ( ereg("php.exe", $HTTP_SERVER_VARS['PHP_SELF']) || ereg("php3.cgi", $HTTP_SERVER_VARS['PHP_SELF']) || ereg("phpts.exe", $HTTP_SERVER_VARS['PHP_SELF']) ) {

    $documentLocation = $HTTP_ENV_VARS['PATH_INFO'];

    } else {

    $documentLocation = $HTTP_SERVER_VARS['PHP_SELF'];

    }

    if ( $HTTP_ENV_VARS['QUERY_STRING'] ) {

    $documentLocation .= "?" . $HTTP_ENV_VARS['QUERY_STRING'];

    }

    include("../config.php");

  56. Jéferson
    Posted 10 de julho de 2013 at 19:25 | Permalink

    Ótima dica!

    Abraços…

  57. Weslley
    Posted 25 de julho de 2013 at 12:30 | Permalink

    ajudou bastante, muito obrigado…

  58. George Silva
    Posted 30 de janeiro de 2014 at 14:37 | Permalink

    Só agradecendo
    =]

  59. Posted 19 de junho de 2014 at 12:56 | Permalink

    Consegui resolver meu erro com a dica. Parabéns e muito obrigado.

    Domingos Nunes

One Trackback

  1. […] é um erro parecido com o Deprecated: function ereg is deprecated, ele ocorre pois a funcionalidade que tentam executar não existe na versão mais atual do PHP […]

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>