begin process at 2008 08 20 12:42:24
1 228 828 membres
197 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OBTENIR LES ADRESSES E-MAIL D'UN TEXTE


Information sur la source

Catégorie :Chaîne de caratère Classé sous : email, chercher, texte, lister, expression régulière Niveau : Débutant Date de création : 08/07/2002 Date de mise à jour : 09/02/2008 19:00:08 Vu : 4 768

Note :
5,33 / 10 - par 3 personnes
5,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

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

  • <?php
  • /*****************************************************************************
  • * Fonction get_email_addrs() : prototype et exemple
  • * Copyright © Dean
  • *
  • * Contact : -
  • *
  • *****************************************************************************/
  • /*
  • * Prototype de fonction :
  • *
  • * 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 />';
  • }
  • ?>
<?php
/*****************************************************************************
 *         Fonction get_email_addrs() : prototype et exemple
 *                     Copyright © Dean
 *
 *                       Contact : -
 *
 *****************************************************************************/

/*
 *      Prototype de fonction :
 *
 *      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.
20 juillet 2006 09:49:18 :
Suppression de mon addresse mail (obsolète)
02 février 2008 12:58:02 :
J'ai mis mon pseudo pour l'auteur de la source
02 février 2008 13:11:13 :
J'ai enlevé le zip qui est inutile.
09 février 2008 19:00:08 :
La fonction supprime maintenant les doublons.
  • signaler à un administrateur
    Commentaire de aquewel le 06/02/2008 21:34:43 5/10

    ca serait tres utiles si tu pouvais traiter les doublons
    si tu la mets a jout je m'en servirais :-)

  • signaler à un administrateur
    Commentaire de Dean le 09/02/2008 19:01:51

    Voilà, j'ai ajouté un array_keys(array_flip($email_list)), normalement ça enlève les doublons.

  • signaler à un administrateur
    Commentaire de aquewel le 09/02/2008 20:15:44

    voila c'est nickel ca
    un peu d'ajax et de javascript avec du mysql et ton truc ma sauve la vie :-) ou me dé complique la vie plutot :-) merki

  • signaler à un administrateur
    Commentaire de zykos le 18/04/2008 10:27:55

    et comment qu'on l'installe? et qu'on l'utilise?
    merci

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS