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 :

Boucle de str_replace [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Points : 148
    Points
    148
    Par défaut Boucle de str_replace
    Bonjour,
    j'ai de la difficulté à rouler une boucle PHP sur un fichier XML.... Je vous explique:

    J'ai un fichier XML, qui a ces champs:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <participants>
        <participant>
            <participant_name>Tampa Bay Buccaneers</participant_name>
            <contestantnum>209</contestantnum>
            <rotnum>209</rotnum>
            <visiting_home_draw>Visiting</visiting_home_draw>
        </participant>
        <participant>
            <participant_name>Detroit Lions</participant_name>
            <contestantnum>210</contestantnum>
            <rotnum>210</rotnum>
            <visiting_home_draw>Home</visiting_home_draw>
        </participant>
    </participants>

    Le tag <participant_name> reviens 2 fois par match, donc j'en ai 30 par fichier.
    Je dois modifier le premier tag <participant_name> par <visitor>, et le deuxième par <host>. Je dois recommencer cette modification autant de fois qu'il y a le tag <participants>, toujours en alternant entre <visitor> et <host>.

    Voici le code que j'ai monté:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      $Compte = substr_count($Odds,"<participant>");
      $i = 1;
        while($i != $Compte+1){
               $Odds = str_replace("<participant_name>","<visitor>",$Odds,$Temp=1);
               $Odds = str_replace("</participant_name>","</visitor>",$Odds,$Temp=1);
               $Odds = str_replace("<participant_name>","<host>",$Odds,$Temp=1);
               $Odds = str_replace("<participant_name>","</host>",$Odds,$Temp=1);
     
          $i = $i + 1;
        }

    Le problème, c'est que mon résultat me retourne que des <visitor>, aucun <host> !! Est-ce que quelqu'un voit une défaillance dans ma boucle ?

    Voici le résultat actuel:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	<IsLive>No</IsLive>
    	<participants>
     
    			<visitor>New Orleans Saints</visitor>
    			<contestantnum_visitor>107</contestantnum_visitor>
    			<rotnum_visitor>107</rotnum_visitor>
    			<type_visitor>Visiting</type_visitor>
     
     
    			<visitor>Atlanta Falcons</visitor>
    			<contestantnum_visitor>108</contestantnum_visitor>
    			<rotnum_visitor>108</rotnum_visitor>
    			<type_visitor>Home</type_visitor>
     
    	</participants>
    Amerex
    «La chance sourit aux audacieux»
    Ms Access, Ms Excel, Ms FrontPage, Expression Web, Crystal, UniVerse, Basic, SQL, PHP, VBA...

    N'oubliez pas de noter les messages!

  2. #2
    Membre habitué Avatar de amerex
    Homme Profil pro
    Analyste Support et Développement
    Inscrit en
    Septembre 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste Support et Développement
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 246
    Points : 148
    Points
    148
    Par défaut
    J'ai résolu mon problème !!

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
               $Odds = preg_replace("/participant_name/","visitor",$Odds,$Temp=1);
               $Odds = preg_replace("/participant_name/","visitor",$Odds,$Temp=1);
               $Odds = preg_replace("/participant_name/","host",$Odds,$Temp=1);
               $Odds = preg_replace("/participant_name/","host",$Odds,$Temp=1);
    Amerex
    «La chance sourit aux audacieux»
    Ms Access, Ms Excel, Ms FrontPage, Expression Web, Crystal, UniVerse, Basic, SQL, PHP, VBA...

    N'oubliez pas de noter les messages!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 13h45
  2. [Tableaux] problème avec str_replace en boucle
    Par kev2259 dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2007, 17h46
  3. [directsound] boucle de traitement de son
    Par gargle dans le forum DirectX
    Réponses: 5
    Dernier message: 24/03/2003, 11h47
  4. Sortir d'un progamme qui boucle ou qui refresh
    Par mikevador02 dans le forum C
    Réponses: 12
    Dernier message: 14/12/2002, 10h38
  5. Réponses: 2
    Dernier message: 29/05/2002, 21h43

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