Bonjour,
La situation se présente comme ceci : je dois parcourir mes emails
J'ai donc tout le contenu de mon e-mail dans une variable $text, et j'aimerai parcourir ligne par ligne (?) mon mail
Voilà je vois pas trop comment procéder, merci








Bonjour,
La situation se présente comme ceci : je dois parcourir mes emails
J'ai donc tout le contenu de mon e-mail dans une variable $text, et j'aimerai parcourir ligne par ligne (?) mon mail
Voilà je vois pas trop comment procéder, merci
Tu utilises les fonctions sur les chaines:
Quelques idées:
Explode avec les fins de ligne ...
Preg_match, Preg_mathAll, preg_split etc ...
Moi j'aurais utilisé un explode( "\r\n", $text); dans un tableau puis parser du ligne à ligne ....








Parser du ligne à ligne ?Moi j'aurais utilisé un explode( "\r\n", $text); dans un tableau puis parser du ligne à ligne ....
Ca c'est avec le explode ....et j'aimerai parcourir ligne par ligne (?) mon mail
Ca c'est avec du codephp (à réaliser) ....et récupérer des infos spécifiques
Pour réaliser le dernier point, tu peux utiliser les regexp avec des fonctions preg_xxxx MAIS je t'avouerais que pour des choses simples, j'y arrive mais pour du plus compliqué vaux mieux bien définir ce que tu veux et de poster ta demande.
Tu as le tuto suivant pour faire à peut près ce que tu veux, non !![]()








Merci pour ce tuto
Je vois mieux comment procéder maintenant.
J'ai dans une variable ($text par exemple) l'intégralité du message, et il faudrait que je parvienne à récupérer "voilà" le titre" et "voilà la description"...
![]()
Dans ce cas c plus tout à fait du ligne à ligne et je te propose plutôt ceci:
(reste le codage naturellement).
1) Tu explodes $text sur du ligne à ligne comme j'avais dis au début,
2) Chaque ligne sera dans un tableau (ex $result), il suffira de parcourir tout le tableau tel que:
Si $result[$i] == "TITLE:" alors tu sauras que "voilà le titre est à $i+1
De m^me pour des autres mots clés
Voili, voilà
![]()








Cool ça marche merci
Penses à mettre [résolu] ...
Bonne journée
![]()








Au lieu de recréer un sujet je décoche le "résolu" vu que mon problème est dans la continuité du 1er.
Si le titre est sur plusieurs lignes, comment je fais pour récupérer les plusieurs lignes?
Car avec mon code, je ne prends que la 1ère ligne après TITLE








Le code:
Je pense qu'il faudrait mettre un while et regarder si on est arrivé au prochain mot (dans le cas présent qui est SOLUTION). Mais je bloque un peu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $result = explode( "\r\n", $content); for($i = 0; $i < count($result); $i++){ if($result[$i] == "Titre"){ echo $result[$i+1]; } }![]()
Bonjour,
Si tu es sûr que le tag suivant est DESCRIPTION (comme c un mail, je pense que oui) alors dans ton if, tu fais un while ($result[$i++] != "DESCRIPTION:")








oui merci,
dans ce cas il faut faire un
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $result[$i-1];








Arf le truc c'est que si je met
j'ai le mot
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $result[$i-1];
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $result[$i];
Montres moi ton code,
J'aimerais voir comment tu as modifié le for, if en while .![]()








bug
Oui, c pas très propre ton code avec le for
Je verrais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $i=0; $max=count($result); while($i < max) { if($result[$i++] == "TITLE:"){ while ($result[$i] != "DESCRIPTION:"){ echo $result[$i++]; echo "<br/>"; } } }








Yes merci![]()








Yop je décoche le sujet pour éviter d'en créer un nouveau
Cette fois ci je stocke dans une variable et je concatène. Ce code marche bien. Sauf que j'aimerai faire la même chose pour une autre partie du mail par exemple.
J'ai bien essayé de mettre un if l'un à coté de l'autre, ou les boucles while à coté etc
Bonjour,
Si tu peux faire les deux if l'un en dessous de l'autre mais à mon avis ton mail ne contient que trois parties: TITLE:, DESCRIPTION:, CONCLUSION: et donc une fois dans la partie CONLCUSION, il va boucler jusqu'à être en dehors des index $result d'ou plantage
Alors dans le troisième while faudra faire le même test d'arrêt que le premier while
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6if($result[$i++] == "DESCRIPTION:"){ while ( ($result[$i] != "CONCLUSION:") AND ($i <= max) ){ $description= $description. $result[$i++]; } }
Partager