Extraire une adresse Email d'un fichier texte

KoZo - 31 janv. 2001 à 19:17
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 9 juin 2011 à 07:35
Comment faire pour extraire une adresse Email non specifiaer ( En specifiant ca forme ) d'un fichier texte connessant la ligne ou elle se trouve.

Merci

5 réponses

cs_FleX Messages postés 35 Date d'inscription vendredi 22 février 2002 Statut Membre Dernière intervention 17 mars 2003
4 mars 2002 à 22:51
Graaaaaave ! c une tres bonne question ! moi aussi je cherche comment faire ca. Celui qui pourra nous donner une solution sera vraiment un dieu !!!!!!!!!!!
0
diidy2 Messages postés 2 Date d'inscription dimanche 5 juin 2011 Statut Membre Dernière intervention 9 juin 2011
7 juin 2011 à 13:03
Dieu n'a pas du entendre leur question
0
adam525 Messages postés 22 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 10 juin 2011
9 juin 2011 à 01:29
Bonjour,

dans quelle langage de programmation?
SOlution 1:
1- Tu recherche dans ta ligne le @
2- tu recherche la position du premier caractère espace "" à gauche et le premier à droite de ton @
3- tu détermine une longueur et tu extrait la longueur à partir de la position

Solution 2:
1-tu splite ton texte par @ pour transformer ta ligne en colonne dans une base de données ou en array dans une solution de programation
2-pour chaque colonne à partir de la deuxième jusqu'à la n-1 cela signifie qu'il y avait un @, donc le début et la fin de ton email sont dans les colonnes consécutive. Donc, 2 colonnes consécutives contiennent ton @. email 1=[partie colonne 1]+@+[partie colonne 2]. Email 2=[Partie col 3]+@+[partie colonne 4]
3-Pour chaque colonne, tu splites par " ". le début de ton email est dans la dernière colonne de ton nouveau split [partie 1 dans l'exemple précédent] et dans la première colonne du split de la colonne qui suit.

En espérant t'avoir aider.

Cordialement,


vautMieuxUnQuiTrouveQue100QuiCherchent
0
diidy2 Messages postés 2 Date d'inscription dimanche 5 juin 2011 Statut Membre Dernière intervention 9 juin 2011
9 juin 2011 à 07:25
Héberge ça, c'est le must :

<?php

error_reporting(0);


function email_parser($str)
{
    $str = strtolower($str);
    $pattern = '`[a-z0-9][-_\.a-z0-9]+[a-z0-9]@[-\.a-z0-9]+[a-z]`';
    
    preg_match_all($pattern, $str, $matches);
    $out = $matches[0];
    $out = array_unique($out);
    sort($out);
    
    return $out;
}


?>
<form action="" method="post">
<textarea cols="40" rows="7" style="width:98%" name="in"><?php echo $_POST['in'] ?></textarea>


</form>

<?php if(count($_POST)) : ?>
<?php    $emails = email_parser($_POST['in']) ?>
<hr />
<?php echo count($emails) ?> adresses

<?php echo implode("\n", $emails) ?>


<?php endif ?>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 juin 2011 à 07:35
Boinjour,

en "coup dse vent" avant un départ imminent :
du genre
toto = "bla bla bla lui@yahoo.fr aaaa K@A.fr blabla"
  titi = Split(toto, " ")
  For i = O To UBound(titi)
    If titi(i) Like "*@*.*" Then
      trouve = titi(i)
      MsgBox titi(i) & " est peut-être une adresse email ?"
     End If
  Next

et se méfier car une chaîne de caractères peut remplir la condition sans être une adresse (bien évidemment).

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous