/ / Cambio de PHP! Ereg y! Eregi a preg_match [duplicado] - php

Cambiando de PHP! Ereg y! Eregi a preg_match [duplicado] - php

¡¡¡Espero que alguien pueda ayudar!!!

En la codificación de una validación de formularios, me dieron el mensaje de error "Deprecated: Function ereg() is deprecated in E:Zacel_Developmentsa_model_watch.co.zainsert_newProf.php on line 184"

Hice una investigación y descubrí que necesito cambiar! Eregi y! Ereg para preg_match ...

Intenté esto, pero no sirvió para nada ... ¿puede alguien revisar mi código y avisar ya que estoy perplejo?

Mi código de código:

/* Check is numeric*/
$regex = "[0-9]{10}";
if(!ereg($regex,$field)){
$form->setError($fieldValue, "* Contact number invalid");
}

DEBE SER APARENTEMENTE:

/* Check is numeric*/
$regex = "[0-9]{10}";
if(!preg_match($regex,$field)){
$form->setError($fieldValue, "* Contact number invalid");
}

Y:

/* Check if valid email address */
$regex = "^[_+a-z0-9-]+(.[_+a-z0-9-]+)*"
."@[a-z0-9-]+(.[a-z0-9-]{1,})*"
.".([a-z]{2,}){1}$";
if(!eregi($regex,$field)){
$form->setError($fieldValue, "* Email invalid");
}

DEBE SER APARENTEMENTE:

/* Check if valid email address */
$regex = "^[_+a-z0-9-]+(.[_+a-z0-9-]+)*"
."@[a-z0-9-]+(.[a-z0-9-]{1,})*"
.".([a-z]{2,}){1}$";
if(!preg_match($regex,$field)){
$form->setError($fieldValue, "* Email invalid");
}

Esto todavía no funciona ... ¿Qué estoy haciendo mal?

Respuestas

2 para la respuesta № 1

Tienes que abrir y cerrar tu patrón de expresiones regulares con un delimitador:

Así que eso:

$regex = "[0-9]{10}";

se convierte

$regex = "/[0-9]{10}/";

Si desea que el patrón sea insensible a mayúsculas y minúsculas use el i bandera

$regex = "/somepattern/i";

0 para la respuesta № 2

Aquí tienes un ejemplo:

Más de Ereg, preg_match puede ser bastante intimidante. Para empezar aquí es un consejo de migración.

<?php
if(ereg("[^0-9A-Za-z]",$test_string)) // will be true if characters arnt 0-9, A-Z or a-z.

if(preg_match("/[^0-9A-Za-z]/",$test_string)) // this is the preg_match version. the /"s are now required.
?>