Estaba probando unas cosas con un código, que funcionaba bien, pero (tengo en local los errores al máximo) me dice que la función ereg está "Deprecated". Para no tener problemas en el futuro, he buscado una función parecida, y he encontrado preg_match, pero me da error:
Warning: preg_match(): Unknown modifier '@' (en la línea 2)
El código con preg_match es este, que es el mismo que con ereg:
Código PHP:
function validacorreo ($email){
if (!preg_match("^[^@]{1,64}@[^@]{1,255}$", $email)){
return false;
}
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!preg_match("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
return false;
}
}
if (!preg_match("^\[?[0-9\.]+\]?$", $email_array[1])){
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
return false;
}
for ($i = 0; $i < sizeof($domain_array); $i++){
if (!preg_match("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])){
return false;
}
}
}
return true;
}
Alguien sabe alguna función idéntica a ereg, o como arreglar ese error?
Edito: no puedo usar preg_match porque en el remoto no tengo PERL, acabo de verlo.