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 :

Parcourir variable texte


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut Parcourir variable texte
    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

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    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 ....

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Moi j'aurais utilisé un explode( "\r\n", $text); dans un tableau puis parser du ligne à ligne ....
    Parser du ligne à ligne ?

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    et j'aimerai parcourir ligne par ligne (?) mon mail
    Ca c'est avec le explode ....

    et récupérer des infos spécifiques
    Ca c'est avec du codephp (à réaliser) ....

    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 !

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    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"...


  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    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à

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Cool ça marche merci

  8. #8
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Penses à mettre [résolu] ...

    Bonne journée

  9. #9
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    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

  10. #10
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Le code:

    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];
    	}
    }
    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

  11. #11
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    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:")

  12. #12
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    oui merci,

    dans ce cas il faut faire un


  13. #13
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Oui

    Bonne journée

  14. #14
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Arf le truc c'est que si je met

    j'ai le mot


  15. #15
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Montres moi ton code,

    J'aimerais voir comment tu as modifié le for, if en while .

  16. #16
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    bug

  17. #17
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    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/>";
    			}
            }
       }

  18. #18
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Yes merci

  19. #19
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    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

  20. #20
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    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
    6
     
        if($result[$i++] == "DESCRIPTION:"){
            while ( ($result[$i] != "CONCLUSION:") AND ($i <= max) ){
    	$description= $description. $result[$i++];
            }
       }

Discussions similaires

  1. Afficher une variable texte comme image
    Par Alexandrebox dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2007, 16h06
  2. Réponses: 18
    Dernier message: 27/10/2006, 15h15
  3. Pb avec une variable texte
    Par polo92 dans le forum Access
    Réponses: 1
    Dernier message: 06/06/2006, 20h09
  4. Plusieurs lignes de texte dans une variable texte
    Par Loko dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 15/12/2005, 13h51
  5. convertir une variable texte en variable date
    Par tafamilk dans le forum ASP
    Réponses: 2
    Dernier message: 12/08/2005, 02h01

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