Salve ragazzi, studio PHP da alcuni mesi, ho tentato di fare un classico controllo della sintassi di indirizzi email ma provando vari script contenenti qualche piccola variazione dell'espressione regolare, sembra non funzionare bene, ovvero, lascia passare alcuni indirizzi email, troncandoli:
Come risultato mi da:
In pratica, immettendo un indirizzo fittizio ciccio--pasticcio@libero.it, lo script mi lascia passare soltanto un array con l'indirizzo troncato e quindi incompleto.
Dove sbaglio?
Provando anche senza "\b", le cose non cambiano!
Grazie mille a chi risponderà.
Codice:
<?php
$frase = "Per informazioni scrivere a: ciccio--pasticcio@libero.it";
echo $frase . "<br/><br/>";
if (preg_match('/\b[a-z0-9]([-_.]?[a-z0-9])*@[a-z0-9]([-.]?[a-z0-9])*\.[a-z]{2,4}\b/', $frase, $a) == 1)
{
print_r($a);
}else
{
echo "Non ho trovato nulla!";
}
?>
Come risultato mi da:
Per informazioni scrivere a: ciccio--pasticcio@libero.it
Array ( [0] => pasticcio@libero.it [1] => o [2] => o )
In pratica, immettendo un indirizzo fittizio ciccio--pasticcio@libero.it, lo script mi lascia passare soltanto un array con l'indirizzo troncato e quindi incompleto.
Dove sbaglio?
Provando anche senza "\b", le cose non cambiano!
Grazie mille a chi risponderà.