Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
279 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  chercher mail dans une chaine de caractère en php

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

chercher mail dans une chaine de caractère en php

n°2048678
atout1
Etudiant
Posté le 13-01-2011 à 13:38:24  profilanswer
 

Bonjour, tout le monde ca va ?
 
j'ai la chaine de caractère suivante :
 
$chaine = "bla bla bla email@hotmail.com bal bla bla ...";
 
je voudrais récupérer l'adresse mail; mais je ne sais pas comment faire ?
 
normelement il faut utiliser des expressions réguliers, j'ai essayer ça mais ça ne marche pas :
$mail = ereg("^[:alnum:]+[@][:alnum:]$", "$chaine" );
 
Merci d'avance pour votre aide.
Cordialement

mood
Publicité
Posté le 13-01-2011 à 13:38:24  profilanswer
 

n°2048682
stealth35
Posté le 13-01-2011 à 13:48:33  profilanswer
 

tu comprends l'expression ?

n°2048687
atout1
Etudiant
Posté le 13-01-2011 à 13:53:42  profilanswer
 

stealth35 a écrit :

tu comprends l'expression ?


pas très bien

n°2048693
smaragdus
whores, drugs & J.S. Bach
Posté le 13-01-2011 à 14:17:13  profilanswer
 

2 rappels :
 
* ereg est déprécated, il faut préférer preg_match
* http://gskinner.com/RegExr/ vous permettra de briller en société :o

n°2048699
atout1
Etudiant
Posté le 13-01-2011 à 14:29:40  profilanswer
 

smaragdus a écrit :

2 rappels :
 
* ereg est déprécated, il faut préférer preg_match
* http://gskinner.com/RegExr/ vous permettra de briller en société :o


merci

n°2048704
atout1
Etudiant
Posté le 13-01-2011 à 14:53:44  profilanswer
 


 
merci bcp c'est un site génial ... j'ai trouver lexpression régulière  
voilà : ([a-zA-z0-9])+([-_.])?([a-zA-Z0-9.-_])+([@])([a-zA-z0-9])+([-_.])?([a-zA-Z0-9])+([-_.])+([a-zA-Z0-9])+
 
j'ai une autre question, comment l'utiliser dans un code php ?

n°2048706
esox_ch
Posté le 13-01-2011 à 14:56:29  profilanswer
 

Tu trouves pas que t'exagères un peu là non?
Tu arrives avec une ligne de code totalement à côté de la plaque, smaragdus te dit les erreurs et te donne un lien pour corriger et t'es même pas foutu d'essayer par toi même?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2048709
atout1
Etudiant
Posté le 13-01-2011 à 15:02:45  profilanswer
 

esox_ch a écrit :

Tu trouves pas que t'exagères un peu là non?
Tu arrives avec une ligne de code totalement à côté de la plaque, smaragdus te dit les erreurs et te donne un lien pour corriger et t'es même pas foutu d'essayer par toi même?


 
je te demande pardon, personne t'oblige à répondre au question

n°2048711
esox_ch
Posté le 13-01-2011 à 15:03:53  profilanswer
 

Non, mais tu es sensé lire la charte du forum avant de poster. Si tu l'avais fait, tu verras qu'il y a plusieurs articles disant qu'on fait pas le boulot à ta place :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2048713
atout1
Etudiant
Posté le 13-01-2011 à 15:08:17  profilanswer
 

esox_ch a écrit :

Non, mais tu es sensé lire la charte du forum avant de poster. Si tu l'avais fait, tu verras qu'il y a plusieurs articles disant qu'on fait pas le boulot à ta place :o


je sais bien ça, mais comme je me trouve bloquer je demander l'aide d'une personne qui sait ou déjà fait de truc pareil ... je ne vois pas où il est le problème ...  
 
mnt dis moi si tu connais j'ai mis ça dans un code php  
$chaine = "bla bla bla mail@hotmail.fr bla totot toto ";
echo $mail = preg_match("#[a-zA-z0-9]+[-_.]?[a-zA-Z0-9.-_]+[@][a-zA-z0-9]+[-_.]?[a-zA-Z0-9]+[-_.]+[a-zA-Z0-9]+#", "$chaine" )
 
il donne comme résultats => 1 . comment faire pour récuperer le mail ?  
 

mood
Publicité
Posté le 13-01-2011 à 15:08:17  profilanswer
 

n°2048717
stealth35
Posté le 13-01-2011 à 15:17:13  profilanswer
 

lire la doc de preg_match par exemple...

 


sinon moi mon mail c'est : test+exemple@exemple.com

 

ton code ne fonctionne pas

Message cité 2 fois
Message édité par stealth35 le 13-01-2011 à 15:20:21
n°2048723
atout1
Etudiant
Posté le 13-01-2011 à 15:45:21  profilanswer
 

stealth35 a écrit :

lire la doc de preg_match par exemple...
 
 
sinon moi mon mail c'est : test+exemple@exemple.com
 
ton code ne fonctionne pas


 
merci pour le remarque, j'ai trouvé finalement .. j'espère que c'est bon comme ça .. voilà le code finale :  
<?php
$chaine = "bla bla bla mail@hotmail.fr bla totot toto ";
preg_match('#[a-zA-z0-9]*[-_.+/\]?[a-zA-Z0-9.-_]+[@][a-zA-z0-9]*[-_.+/\]?[a-zA-Z0-9.-_]+#', $chaine, $matches, PREG_OFFSET_CAPTURE);
$result = array_merge($matches, $matches[0]);
echo $result[1]; // affiche : mail@hotmail.fr
?>
 
Merci à tous

n°2048724
stealth35
Posté le 13-01-2011 à 15:47:46  profilanswer
 

j'ai une autre adresse c'est : "test exemple"@exemple.com

n°2048736
atout1
Etudiant
Posté le 13-01-2011 à 16:31:39  profilanswer
 

stealth35 a écrit :

j'ai une autre adresse c'est : "test exemple"@exemple.com


preg_match('#[a-zA-z0-9\"\'@\.-_]*[-_.+/\]?[a-zA-Z0-9.-_]+[@][a-zA-z0-9\"\'@\.-_]*[-_.+/\]?[a-zA-Z0-9\"\'@\.-_]+#', $chaine, $matches, PREG_OFFSET_CAPTURE);
 
comme ça je pense que ç'est bon mais un mail avec espace je ne pense pas que c'est feusable ... Merci

n°2048740
stealth35
Posté le 13-01-2011 à 16:45:08  profilanswer
 

si si c'est correct ;)

 

comme celui la aussi :
test@[127.0.0.1]

Message cité 1 fois
Message édité par stealth35 le 13-01-2011 à 16:45:19
n°2048742
esox_ch
Posté le 13-01-2011 à 16:47:13  profilanswer
 

stealth35 a écrit :

lire la doc de preg_match par exemple...
 test+exemple@exemple.com


 

stealth35 a écrit :


"test exemple"@exemple.com


 

stealth35 a écrit :


test@[127.0.0.1]


 
Genre le mec qui fait pas chier avec des formats d'e-mail très courants :lol:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2048744
stealth35
Posté le 13-01-2011 à 16:48:13  profilanswer
 

esox_ch a écrit :

Genre le mec qui fait pas chier avec des formats d'e-mail très courants :lol:


 
c'est pour le faire bosser un peu, au lieu de recopier des codes tout naze  ;)  

n°2048747
esox_ch
Posté le 13-01-2011 à 16:50:15  profilanswer
 

Je me rappelle qu'une fois FlorentG avait posté la regexp qui validait tous les e-mails acceptables suivant la forme iso ... Elle faisait genre 1 page :lol:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2048752
stealth35
Posté le 13-01-2011 à 17:01:11  profilanswer
 

esox_ch a écrit :

Je me rappelle qu'une fois FlorentG avait posté la regexp qui validait tous les e-mails acceptables suivant la forme iso ... Elle faisait genre 1 page :lol:


 
celui de PHP (filter_validate_email) c'est :

Code :
  1. /^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?
  2. :(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\
  3. x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x
  4. 0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x
  5. 21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0
  6. B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?
  7. !.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-
  8. z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a
  9. -f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{
  10. 1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|
  11. (?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){
  12. 5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{
  13. 1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]
  14. ))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]
  15. ))$/iD

n°2048756
smaragdus
whores, drugs & J.S. Bach
Posté le 13-01-2011 à 17:17:51  profilanswer
 

[:ripthejacker:3]

n°2048757
skeye
Posté le 13-01-2011 à 17:25:38  profilanswer
 

stealth35 a écrit :


 
celui de PHP (filter_validate_email) c'est :

Code :
  1. /^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?
  2. :(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\
  3. x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x
  4. 0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x
  5. 21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0
  6. B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?
  7. !.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-
  8. z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a
  9. -f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{
  10. 1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|
  11. (?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){
  12. 5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{
  13. 1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]
  14. ))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]
  15. ))$/iD



 
petit joueur.:o
http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html


---------------
Can't buy what I want because it's free -
n°2048760
esox_ch
Posté le 13-01-2011 à 17:29:33  profilanswer
 

Voilà c'est celle-là qu'il avait sorti :o
Je propose que désormais, à chaque fois qu'un gugus arrive en nous demandant de lui faire un regexp qui valide ses e-mails, on lui colle directement ça :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2049156
misterakm
Posté le 14-01-2011 à 17:07:25  profilanswer
 

Joli :love: !

 

Sauf qu'elle a du être générée automatiquement j'imagine :p !

 

Question subsidiaire : est-ce possible ? Hmmm...

Message cité 1 fois
Message édité par misterakm le 14-01-2011 à 17:08:05
n°2049168
stealth35
Posté le 14-01-2011 à 17:45:58  profilanswer
 

misterakm a écrit :

Joli :love: !
 
Sauf qu'elle a du être générée automatiquement j'imagine :p !
 
Question subsidiaire : est-ce possible ? Hmmm...


 
non, c'est fait a la main, c'est pas si compliqué, un groupe ou une condition ca prend vite de la place, de plus la plupart des groupes sont identiques.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  chercher mail dans une chaine de caractère en php

 

Sujets relatifs
Chaine de caractere javaPEAR : Mail_Queue
Insérer une info dans le corps du mail (formulaire)[Résolu] [Shell] mysqldump et envoi mail si erreur
[VBA Access] parcourir chaine de caractères[RESOLUS]Supprimer des mots dans une chaine de mots clés
Symfony - Envoie d'e-mailUpload fichier et notification par mail !
[C] afficher un caractère grec 
Plus de sujets relatifs à : chercher mail dans une chaine de caractère en php


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR