Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/04/2010, 11:16
markmb
 
Fecha de Ingreso: octubre-2009
Ubicación: En el ordenador
Mensajes: 504
Antigüedad: 15 años, 1 mes
Puntos: 10
ereg y preg_match

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.