Cette fonction permet d'extraire toutes les adresses e-mail contenues dans un texte.
Elle retourne un tableau indexé directement exploitable via une boucle for() par exemple.
Elle peut être utile si vous stockez les adresses de vos visiteurs dans un fichier et que vous souhaitiez rapidement les récupérer pour envoyer un message via mail().
Elle peut aussi servir à extraire les adresses contenues dans du code HTML.
Enfin, vous verrez vous même...
Source / Exemple :
<?php
/*****************************************************************************
- Fonction get_email_addrs() : prototype et exemple
- Copyright © Dean
*
*
/*
*
- array get_email_addrs(string string)
- Retourne les adresses e-mail de string dans un tableau indexé
- /
function get_email_addrs($string)
{
// Crée le tableau de destination
$email_list = array();
// Obtient les adresses contenues dans la chaîne
while(eregi("[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+", $string, $regs))
{
// Ajoute l'adresse trouvée à l'index suivant du tableau de sortie
$email_list[] = $regs[0];
// Supprime l'adresse de la chaîne
$string = str_replace($regs[0], "", $string);
}
// Plus d'adresses ? Retourne la liste
return array_keys(array_flip($email_list));
}
/*
- Exemple d'utilisation :
- /
// Définit la chaîne à analyser
$string = 'Cette chaîne contient une adresse ici : user@provider.com';
$string .= ' et une autre là : client@website.net.';
// Extrait les adresses e-mail de cette chaîne
$email_list = get_email_addrs($string);
// Affiche la chaîne
echo 'Chaîne de base : "'.$string.'".<br /><br />';
// Affiche les adresses :
echo 'Adresses trouvées avec get_email_addrs() :<br />';
for($i=0; $i<count($email_list); $i++)
{
echo '<a href="mailto:'.$email_list[$i].'" title="'.$email_list[$i].'">'.$email_list[$i].'</a><br />';
}
?>
Conclusion :
Je crois que c'est l'ultime fonction pour obtenir les adresses e-mail dans un texte !
Cette MAJ de mon précédent script (fonction show_emails) atteint les objectifs que je lui avais fixés, à savoir retourner les adresses dans un tableau.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.