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ération d'une adresse e-mail entre parenthèses


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 10
    Points
    10
    Par défaut Récupération d'une adresse e-mail entre parenthèses
    Bonjour à tous,

    Je débute avec les regexp, j'ai vu plein de choses qui pourrait convenir, mais jamais exactement ce que je cherche.

    Je cherche à extraire un email d'une chaine et l'afficher à l'écran avec un echo.

    J'ai essayé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $data = 'Ma longue chaine avec le mail a la fin (mail@mail.com)';
     
    preg_match_all('/[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[_A-Za-z0-9-]+)/', $data , $match);
    print_r ($match);
    aussi ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    preg_match_all('/(.*?) \(([A-Z]+)\)/', $data, $matches, PREG_SET_ORDER);
    print_r ($matches);
    Et plein d'autres, pour essayer de faire ce que je voulais à partir de ce qui existe sur le web. Mais je n'ai jamais ce que je veux.

    Le résultat le plus proche a été un tableau qui contenait chaque lettre de ma chaine...

    Quelqu'un aurait une idée ?
    Merci d'avance,

    Bruntho.

  2. #2
    Membre actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Points : 275
    Points
    275
    Par défaut
    ta première regex marche bien, tu a dans
    $match[0][0] ton email

    tu peux faire sinon comme ça, c'est la même chose sauf qu'on capture un groupe nommé, et donc plus facile à récupérer

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $data = 'Ma longue chaine avec le mail a la fin (mail@mail.com)';
     
    preg_match_all('/(?<mails>[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[_A-Za-z0-9-]+))/si', $data , $match);
    print_r ($match['mails']);
    $match['mails'] contient un tableau d'emails
    $match['mails'][0] est donc le premier mail capturé (s'il y en a un)

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Points : 229
    Points
    229
    Par défaut
    Je t'inviterais à regarder cette discussion:
    http://www.developpez.net/forums/d99...s-email-texte/

Discussions similaires

  1. Récupération d'une adresse mac
    Par ouss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/04/2009, 10h00
  2. Outlook express partager une adresse E-mail
    Par spopofes dans le forum Outlook Express / Windows Mail
    Réponses: 2
    Dernier message: 04/08/2006, 22h21
  3. Réponses: 1
    Dernier message: 05/04/2006, 23h22
  4. Réponses: 6
    Dernier message: 28/02/2006, 17h41

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