P: Validar email de una forma más completa
R: aqui esta la solución. Usaremos "eregi", variables globales, regexps, if-else.
Código PHP:
$email_correcto = "^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$";
$caracteres_extranos = "^[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$";
// Validamos la dirección, usamos caracteres comunes
if (eregi($email_correcto, $email)) {
echo("La dirección <i>$email</i> es válida.");
}
/* Validamos la dirección, tomamos en cuenta que algunos proveedores permiten caracteres extraños.*/
else if (eregi($caracteres_extranos, $email)) {
echo("La dirección <i>$email</i> contiene caracteres extraños, pero comunmente no afecta el script. Se tomará como válida.");
}
// Si nada de lo anterior pasa... return false
else {
echo("La dirección <i>$email</i> no es válida.");
}
Te recuerdo que la variable $email es igual al campo del formulario de tu página web.
Saludos