Partage
  • Partager sur Facebook
  • Partager sur Twitter

boucle for bug avec RegExp

Sujet résolu
    6 octobre 2009 à 12:42:56

    Salut,

    Cette boucle bug dans une fonction, alors que tout le reste fonctionne bien...
    Je ne comprends pas bien pourquoi.

    for(i=1; i<62; i++)
    {
          contenu_texta = contenu_texta.replace(new RegExp(" [:" + i + ":] ", "g"), "&nbsp;<img src=\"" + chemin_images + "smileys/" + i + ".gif\" alt=\"" + i + ".gif\" />&nbsp;");
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      6 octobre 2009 à 13:07:56

      contenu_texta = contenu_texta.replace(/[:" + i + ":]/g, "&nbsp;<img src=\"" + chemin_images + "smileys/" + i + ".gif\" alt=\"" + i + ".gif\" />&nbsp;");
      et comme ça ?
      J'ai rien dit..
      EDIT:
      Pourquoi ne pas faire une générale genre : (sans la boucle, quoi)
      contenu_texta = contenu_texta.replace(/:([0-9]{1,2}):/g, "<img src=\"" + chemin_images + "smileys/$1.gif\" alt=\"$1.gif\" />&nbsp;");
      • Partager sur Facebook
      • Partager sur Twitter
        6 octobre 2009 à 13:10:36

        J'ai justement essayé comme ça mais je n'y parviens pas non plus...
        • Partager sur Facebook
        • Partager sur Twitter
          6 octobre 2009 à 14:59:38

          contenu_texta = contenu_texta.replace(/\[:(\d+):\]/g, '<img src="' + chemin_images + 'smileys/$1.gif" alt="$1.gif" />&nbsp;');

          Edit: Colo syntaxique en mousse
          • Partager sur Facebook
          • Partager sur Twitter
            6 octobre 2009 à 15:05:21

            Citation : Tiller

            contenu_texta = contenu_texta.replace(/\[:(\d+):\]/g, '<img src="' + chemin_images + 'smileys/$1.gif" alt="$1.gif" />&nbsp;");

            Edit: Colo syntaxique en mousse



            contenu_texta = contenu_texta.replace(/\[:(\d+):\]/g, '<img src="' + chemin_images + 'smileys/$1.gif" alt="$1.gif" />&nbsp;');
            Tu avais mal fermé ta simple quote...
            • Partager sur Facebook
            • Partager sur Twitter
              6 octobre 2009 à 15:08:22

              Euh ? J'ai beau chercher je ne trouve pas où..

              Yo soy un boulet !
              • Partager sur Facebook
              • Partager sur Twitter
                6 octobre 2009 à 16:20:14

                Merci, mais c'est pas tout à fait ce que je recherche...
                Je ne veux pas tous les nombres mais uniquement ceux entre 1 et 62
                C'est impossible à faire avec RegExp ????? :(


                En tout cas ça marche bien

                Merci!!!!!!!
                :)
                • Partager sur Facebook
                • Partager sur Twitter
                  6 octobre 2009 à 16:23:38

                  si
                  contenu_texta = contenu_texta.replace(/\[:([1-6]?[0-9]):\]/g, '<img src="' + chemin_images + 'smileys/$1.gif" alt="$1.gif" />&nbsp;');
                  Ce code irait jusqu'à 69... :-° (totalement involontaire hein x)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 octobre 2009 à 16:26:54

                    Oui d'accord ! ;) Merci


                    EDIT :

                    J'AI TROUVE, enfin le forum de developpez.com, certes moins chaleureux, m'a trouvé la solution avec RegExp !

                    var nb_smileys = 62;
                    
                    for(var i=1; i<nb_smileys+1; i++)
                    {
                    	var MyReg = new RegExp(" \\[:" + i + ":\\] ", "g");
                        	contenu_texta = contenu_texta.replace(MyReg, "<img src=\"" + chemin_images + "smileys/" + i + ".gif\" />", contenu_texta);
                    }
                    
                    • Partager sur Facebook
                    • Partager sur Twitter

                    boucle for bug avec RegExp

                    × 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