IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer tous les adresses mail [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Récupérer tous les adresses mail
    Bonjour,

    ça fait pas mal de temps que j'essaie de creer un motif pour extraire toutes les adresses emails d'une chaine de caractères mais j'ai un soucis avec le motif ...

    Je tente ce motif : `^.*@*.$` mais il me sort toute la chaine de caractère

    Mon but est donc d'avoir toutes les adresses emails d'une chaine dans un tableau pour pouvoir les retraiter ensuite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $text= 'hello, toto@gmail.com .blablabla.. <test@test.com>';
     
    $motif='`^.*@*.$`';
    preg_match_all($motif,$text,$out); 
     
    foreach($out[0] as $test) {
    	echo $test."<br>";
    }
    et donc avoir dans mon tableau les adresses toto@gmail.com et test@test.com mais ça ne marche pas

    si quelqu'un à la soluce !! merciiii

    Rémy

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Oui la FAQ PHP à la solution jettes y un oeil

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    merci pour ta réponse mais j'ai regardé dans les FAQ et même le forum et je n'arrive pas à trouver le motif ou des infos pour m'aider à le faire. Il y a juste le motif qui te permet de controler la validité d'un email mais je l'ai testé et remodelé sous toutes les formes et ça n'a rien donné !

    donc si quelqu'un à une soluce

    merci

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ben tu prends le motif, qui teste que c'est une adresse mail et au lieu d'utiliser la fonction de la faq tu utilises preg_match.

    Oublies pas que le but est tout de meme de trouver des mails et donc de vérifier d'où la Q/R dans la FAQ

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    preg_match ou preg_match_all ... j'ai testé les 2 merci en tout cas!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $text = "yop@yop.fr coucouc c'est la teuf rem@coucou.fr";
    $motif = "/^([^@\s<&>]+)@(?:([-a-z0-9]+)\.)+([a-z]{2,})$/i";
    $out = preg_match($motif,$text); 
    echo $out;
    ça me renvoie 0

    avec preg_match_all ça devrait parfaitement fonctionner mais c'est ce motif que je n'arrive pas à faire ...

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Sais tu comment fonctionne les fonctions preg_match ??

    Pour récuperer les valeurs trouvées c'est comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    preg_match($motif,$text,$out); 
    echo $out[1];

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $text = "yop@yop.fr coucouc c'est la teuf rem@coucou.fr";
    $motif = "/^([^@\s<&>]+)@(?:([-a-z0-9]+)\.)+([a-z]{2,})$/i";
    preg_match($motif,$text, $out); 
    echo $out[1];
    erreur : Notice: Undefined offset: 0

    erreur ... si t'as le code complet je suis preneur car j'ai essayé beaucoup de possibilités avant de demander de l'aide ...


    merci

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    En ayant regardé la FAQ (le lien que je t'ai donné) tu aurais vu un lien sur les expressions régulières (superbe article de Guillaume) et il y a exactement ce que tu cherches avec la même expression régulière

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Bon voici le même pattern qui fonctionne après lui avoir spécifié que c'est dans une chaine de caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "/([^@\s<&>]+)@(?:([-a-z0-9]+)\.)+([a-z]{2,})/i";

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $text = "yop@yop.fr coucouc c'est la teuf rem@coucou.fr";
    $motif = "/([^@\s<&>]+)@(?:([-a-z0-9]+)\.)+([a-z]{2,})/i";
    preg_match_all($motif,$text, $out); 
    foreach ($out[0] as $test) echo "<br>".$test;
    ça marche nickel ! merci ! J'avais regardé les FAQ et l'article de guillaume pourtant ... bref ça marche ! merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer tous les noms de domaine d'un champ adresse mail
    Par Elwood J. Blues dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/08/2011, 16h04
  2. [Toutes versions] Récupérer tous les contacts (pas que le carnet d'adresses)
    Par bryce426 dans le forum Outlook
    Réponses: 2
    Dernier message: 05/11/2010, 17h22
  3. Réponses: 2
    Dernier message: 25/03/2008, 19h00
  4. [Mail] Récupérer tous les liens et les titres d'une page
    Par dragon noir dans le forum Langage
    Réponses: 12
    Dernier message: 03/07/2006, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo