Buenas,
2 cosas:
1) ereg_replace está obsoleta, no se recomienda su uso (probablemente, esté generando algun tipo de error
2) el primer parámetro es un "ereg pattern"... creo que deberias usar str_replace, q te vale :
http://php.net/str_replace
3) En las condiciones, en la de correo, tienes un $mal = 1 : <- : y no ; xD