io pensavo che i caratteri speciali dovessero essere preceduti dall'escape per essere usati nelle espressioni regolari. Invece ho trovato che se si fa:

<?php

$stringa = "abc.123@yahoo.it";

if(eregi("^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$", $stringa))


{
echo "stringa conforme!
";
}

else

{
echo "stringa NON conforme!
";
}

?>

mi da per buona la stringa dell'email! Ma il punto non dovrebbe essere stato scritto con escape? tipo: ^[a-zA-Z0-9\._-]????