Partage
  • Partager sur Facebook
  • Partager sur Twitter

Coloration du (x)html en regex

Sujet résolu
    26 novembre 2005 à 15:59:07

    Bonjour,
    je me suis lancé dans la coloration de langages grâce aux regex (j'ai terminé le css et le php) et je me suis lancé dans la coloration de l'(x)html, mais j'aimerai avoir quelques pistes car je ne sais pas comment faire.
    Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      26 novembre 2005 à 16:00:32

      Il faut que tu fasses un remplacement balises par balises mais fait attention à rester assez souple pour laisser leurs parametres.
      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2005 à 16:02:37

        En gros, c'est plutôt galère, car il y a un bon paquet de balises en (x)html :p
        • Partager sur Facebook
        • Partager sur Twitter
        Mon profil Github - Zeste de Savoir, pour la beauté du zeste
          26 novembre 2005 à 16:04:37

          merci mais il faut que je mette toutes les balises dans un array ? Tu pourrais me mettre un exemple pour que je comprenne ce que tu veux dire par rester assez souple pour laisser leurs paramètres ?
          EDIT : Talus, comment me conseillerais-tu de faire ?
          • Partager sur Facebook
          • Partager sur Twitter
            26 novembre 2005 à 16:49:47

            A ta place, au lieu de m'amuser à colorier toutes les balises possibles et imaginables en fonction de leur nom, je me contenterais de modifier leur couleur en fonction de leur position. En gros tu pourrais colorier le premier mot situé après "<" et après "</" et tant pis si ça concerne une balise qui n'existe pas, car on suppose que quand on fait du (x)html, on a toujours pour but de faire une page qui donne quelque chose. EX:

            $ligne_du_fichier = preg_replace('!(&lt;/?)([a-z]+)!',
              '$1<span style="color:#cc33cc">$2</span>$3',$ligne_du_fichier);

            --> en supposant que &lt; équivaut à "<" après traitement avec htmlentities()
            • Partager sur Facebook
            • Partager sur Twitter
              26 novembre 2005 à 16:52:00

              Yvan > Nop, &lt; équivaut à <, et &gt; à > :p (erreur de ta part je suppose, car dans le script c'est bon). Sinon, oui, le truc c'est de colorier les balises toute spareile,s tout comme leurs attributs., et de colorier ce quie st entre " " (&quote;(.+?)&quote; dans ton cas), ce qui est après les &lt; &lt;/.
              L'idée est là, en gros
              • Partager sur Facebook
              • Partager sur Twitter
              Mon profil Github - Zeste de Savoir, pour la beauté du zeste
                26 novembre 2005 à 18:10:34

                je ne comprends pas : il n'y a que 2 paires de parenthèse et tu met $3 ? A quoi correspond-t-il ?
                • Partager sur Facebook
                • Partager sur Twitter
                  26 novembre 2005 à 18:16:50

                  Lu,
                  je suppose que c'est comme ça :

                  $ligne_du_fichier = preg_replace('!(&lt;/?)([a-z]+)(.*)&gt;!sUi', '$1<span style="color: #cc33cc">$2</span>$3&gt;', $ligne_du_fichier);
                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 novembre 2005 à 19:12:41

                    merci beaucoup.
                    Comment faire pour colorer le texte entre " ou ' en sachant qu' en mettant span style="" ça va bugger car ça va aussi les remplacer ?
                    Merci d'avance
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Coloration du (x)html en 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