Partage
  • Partager sur Facebook
  • Partager sur Twitter

afficher du php dans un expression reguliere

Sujet résolu
    14 juin 2006 à 21:26:58

    Bonjour, j'ai beaucoup de probleme au niveau du php au ce moment et peut de personne m'aide donc j'espere avoir des reponsses pour se sujet.

    Comment faire pour afficher du code php dans un preg_replace: dans mon cas je voudrait mettre un boucle, merci d'avance de vos futur aide: Sannazzarotiti
    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2006 à 21:48:11

      C'est à dire ?
      $texte = preg_replace("`(a)?(".$variable.")?b`", "Youpi", $texte);
      ?
      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2006 à 21:55:52

        Merci de ta reponsse :) J'ai cree mon bb code ou se trouve un valeur au centre.

        ex: <un_hr>nb de tr(5)</un_hr> et je voudrait remplacer ces balise par
        <hr/>
        <hr/>
        <hr/>
        <hr/>
        <hr/>


        c'est a dire l'ecrire autant de fois que le nombre l'indique entre les balises. Si on marque 10, alors une boucle (ou qq chose d'autre) affichera <hr/> 10 fois.


        Pb: Comment mettre une boucle dans un preg_replace?
        • Partager sur Facebook
        • Partager sur Twitter
          14 juin 2006 à 22:04:49

          bah tu crée une fonction qui fait le nombre de ligne en fonction de ton parametre

          et aprés dans ton preg_replace() tu utilise ta fonction

          simple non

          je te laisse réfléchir
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2006 à 22:12:48

            Merci masi je ne peut PAS mettre de php dans cette fonction sous peine d'un message d'erreur. Voila ce que j'aimerait faire:

            $Texte = str_replace('!\<hr\>([0-9])\</hr\>!i', 'while ($i <= $1) { echo "<hr/>"; $i++; }', $Texte);


            Evidament, ce code ne marche pas, d'ou mon post dans ce forum. Merci a tous ceux qui m'aide.
            • Partager sur Facebook
            • Partager sur Twitter
              14 juin 2006 à 22:47:29

              Bonsoir,

              essaies ça, je ne l'ai pas testé mais ça devrait être quelque chose comme ça...

              <?php

              // Fonction appellée
              function hr($nbr){
                      $texte = null;
                      for($i = 0; $i < $nbr; $i++){
                              $texte .= '<hr />';
                      }
                      return $texte;
              }

              $Texte = str_replace('`<hr>([0-9]+)</hr>`ie', "hr('$1')", $Texte); // Note l'utilisation de l'option e. Je te renvoie à la documentation PHP pour plus d'informations
              ?>


              Amicalement Mercosuh :D
              • Partager sur Facebook
              • Partager sur Twitter
                14 juin 2006 à 23:08:16

                Ton code ne marche pas et m'affiche $1 (dans ce cas 5). Je laisse tomber quitte a faire quelque chose de repetitif.

                Je ne met pas resolu si vous avez d'autres idee

                Merci de ton aide: Sannazzarotiti
                • Partager sur Facebook
                • Partager sur Twitter
                  14 juin 2006 à 23:14:42

                  En vrai, j'avais pas vu que tu avais mis str_replace au lieu de preg_replace, donc j'ai corrigé et j'ai même testé le code qui marche bien...

                  $Texte = 'Essai<hr>5</hr>Essai';

                  // Fonction appellée
                  function hr($nbr){
                          $texte = null;
                          for($i = 0; $i < $nbr; $i++){
                                  $texte .= '<hr />';
                          }
                          return $texte;
                  }

                  $Texte = preg_replace('`<hr>([0-9]+)</hr>`ie', "hr('$1')", $Texte); // Note l'utilisation de l'option e. Je te renvoie à la documentation PHP pour plus d'informations
                  echo $Texte;


                  Voilà !! :)

                  Amicalement Mercosuh :D
                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 juin 2006 à 23:19:52

                    Merci, on ne peut utiliser le php masi on peut utiliser une fonction se qui resout tous le probleme. Merci mille fois
                    • Partager sur Facebook
                    • Partager sur Twitter

                    afficher du php dans un expression reguliere

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown