Partage
  • Partager sur Facebook
  • Partager sur Twitter

[regex]

Sujet résolu
    21 mai 2006 à 13:45:37

    Edit: je m excuse pour le titre
    Au cas ou un moderateur passe par la.
    titre: [regex] Récuperer ce qu il y a entre les guillemets
    sous titre: Meme si il n y à rien

    Merci
    --------------------------------

    Bonjour

    J ai fait une regex pour récupérer ce qu il y a entre des guillemets. Ca fonctionne très bien Le problème est que si il n y a RIEIN entre les guillemets ça merdouille lol.

    Je veux coloriser les guillemet et ce qu il y a l interieur. Je fais comme ceci

    $code = preg_replace('`(")(.+?)(")|(\')(.+?)(\')`is',
                         '<span class="quote">$0</span>',
                         $code);


    Ca marche très bien sauf si ja ceci '' ou ceci "" donc je voudrais récupérer ce qui il entre les guillemets même ci il n y a rien. Jai essayer ca aussi et c est pareil.

    $code = preg_replace('`(&quot;)(.+?)(&quot;)|(\')(.+?)(\')|(&quot;)(&quot;)|(\')(\')`is',
                         '<span class="quote">$0</span>',
                         $code);


    Meci

    @ bientot jerome
    • Partager sur Facebook
    • Partager sur Twitter
      21 mai 2006 à 13:52:20

      essaie ceci

      $code = preg_replace('!(&quot;)(.+)?(&quot;)!iU','<span class="quote">$0</span>',$code);
      • Partager sur Facebook
      • Partager sur Twitter
        21 mai 2006 à 14:06:54

        Merci

        Avec les option iU, ca fonction. Mais je ne peut pas faire de retour à la ligne d ou l option s. Si je mets isU ca beug et ce ne marche pas du tout.

        merci
        • Partager sur Facebook
        • Partager sur Twitter
          21 mai 2006 à 14:10:12

          normal que ca ne fonctionne pas le retour à la ligne en fait un preg_replace
          Si tu veus que ca fonctionne avec le retour à la ligne alors il faut faire un str_replace
          $code = str_replace('<gras>','<b>',$code);
          • Partager sur Facebook
          • Partager sur Twitter
            21 mai 2006 à 14:17:19

            Ok Mais ce n'est pas du tout ce que je veux.

            Bon je viens de m apercevoir qu il n y a pas de retour à la ligne possible pour mon cas. Donc c est bon

            Je voudrais quand même savoir, ca peux toujours me servir plus tard.

            Merci
            • Partager sur Facebook
            • Partager sur Twitter
              21 mai 2006 à 14:58:01

              Les regex... c'est un métier, hein ! ;)
              Exemple :
              <?php
              $chaine='un truc entre \'simple quote\' et entre "double" et voilà des quotes "" vides';
              $ch=htmlentities($chaine);
              echo preg_replace('`(&quot;|\').*?\1`','<strong>$0</strong>',$ch);
              ?>   
              • Partager sur Facebook
              • Partager sur Twitter
                21 mai 2006 à 15:14:52

                Très dur comme taf les regex. Il suffit de se pencher une bonne fois dessus et ne pas tomber.

                Merci Bison.
                • Partager sur Facebook
                • Partager sur Twitter

                [regex]

                × 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