secondo me se non hai necessità di verificare gli indirizzi che trovi, potresti fare una cosa più semplice senza espressioni regolari, tipo
Codice PHP:function ctrEmail($em){
return filter_var(filter_var($em, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
}
function EmailInText($text){
$email = array();
$parole = explode(" ", $text);
foreach($parole as $parola){
if(strpos($parola, "@") > 0 && ctrEmail($parola)){
$email[] = "<a href='mailto:$parola'>$parola</a>";
}
}
return $email;
}

Rispondi quotando