Dans une liste de mails exclure les gmail

Dans une liste de mails exclure les gmail - PHP - Programmation

Marsh Posté le 08-06-2019 à 14:53:50    

Bonjour,
 
J'ai un texte contenant une liste d'adresse mails
$mails = 'toto@gmail.com, julien@laposte.net, thomas@gmail.com, patrcik@hotmail.fr';
 
Je souhaite retirer toutes les adresses mails @gmail.com pour avoir que "julien@laposte.net, patrcik@hotmail.fr';
 mais je n'arrive pas :(
 
Pourriez vous m aider ?

Reply

Marsh Posté le 08-06-2019 à 14:53:50   

Reply

Marsh Posté le 08-06-2019 à 15:46:58    

Je connais pas PHP mais Perl c'est proche. Tu découpes ta chaîne au niveau des virgules (Perl: split), tu en fais un tableau, tu fais un grep inversé et tu réassembles le tout. Ou alors avec un regex, genre

s/(?:(?:, )|^)[^@]+@gmail\.com//g

. Pas élégant mais ça marche. :o

Reply

Marsh Posté le 08-06-2019 à 16:09:55    

Code :
  1. $ArrayTmp = explode(';', $mails);
  2. $ArrayMails = array();
  3. foreach($ArrayTmp as $Mail)
  4. {
  5.     if (strpos($Mail, '@gmail') === FALSE)
  6.     {
  7.         $ArrayMails[] = $Mail;
  8.     }
  9. }
  10. $mails = implode(';', $ArrayMails);



---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 08-06-2019 à 17:11:40    

Et par esprit de contradiction :

Code :
  1. function checkdomain($mail) {
  2.     if(substr_compare($mail, '@gmail.com', -10, 10)) {
  3.         return false;
  4.     } else {
  5.         return true;
  6.     }
  7. }
  8. $mails = 'toto@gmail.com, julien@laposte.net, thomas@gmail.com, patrcik@hotmail.fr';
  9. $mails = explode(',', $mails);
  10. $mails = array_filter($mails, 'checkdomain');
  11. $mails = implode(',', $mails);


 
 :o  
 
C'est juste pour proposer un array_filter, sinon est-ce que lorsqu'on connait la position de l’occurrence ce n'est pas plus rapide comme ça ?  [:bidem]


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 10-06-2019 à 21:43:05    

Bon, bn un grand merci.
Je m'attendais pas à autant de réponse, toute aussi performante les unes que les autres.
Avec quand même la dernier qui va très loin.
Les regexp a tjs été un mystere pour moi, mais à chaqu fois je suis impression par leur efficacité.
Merci à tous c'est vraiment top.
Mon code fonctionne trop bien désormais

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed