Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Geshi] Erreur imcompréhensible

Anonyme
    7 mai 2007 à 22:41:22

    Bonsoir les Zéros !

    Voilà j'ai un problème avec Geshi je ne peut pas afficher des codes dans différents langages (dans différents paragraphes) dans une même page.

    Si je met deux langage différents, seul le deuxième est pris en compte, et si j'en met plus j'ai cette erreur qui s'affiche :

    Citation : Erreur Geshi

    Warning: load_language(c:\program files\easyphp1-8\www\mon site\geshi\htmlhtmlbrbrbrbrheadheadbrbrbrbrbodybodybrbrbrbrhtmlcodebrbrbrbrbrbrcssbrbrbrcodecssbasbrbrbrbrbrbrbackground-imageurlimagesdesignfond-baspngbrbrbrbackground-positiontopcenterbrbrbrbackground-repeatno-repeatbrbrbrheight7brbrbrpadding-top32pxbrbrbrbrbrbrbrbrbrcodebrbrbrbrbrbrborder1pxsolidredbrbrbrcolorblackbrbrbrcodebrbrbrbrbrbrphpbrbrbrbrbrbrcodephp.php): failed to open stream: No error in c:\program files\easyphp1-8\www\mon site\geshi.php on line 2231

    Fatal error: load_language(): Failed opening required 'c:\program files\easyphp1-8\www\mon site\geshi\htmlhtmlbrbrbrbrheadheadbrbrbrbrbodybodybrbrbrbrhtmlcodebrbrbrbrbrbrcssbrbrbrcodecssbasbrbrbrbrbrbrbackground-imageurlimagesdesignfond-baspngbrbrbrbackground-positiontopcenterbrbrbrbackground-repeatno-repeatbrbrbrheight7brbrbrpadding-top32pxbrbrbrbrbrbrbrbrbrcodebrbrbrbrbrbrborder1pxsolidredbrbrbrcolorblackbrbrbrcodebrbrbrbrbrbrphpbrbrbrbrbrbrcodephp.php' (include_path='.;C:\PROGRA~1\EASYPH~1\\php\pear\') in c:\program files\easyphp1-8\www\mon site\geshi.php on line 2231



    Quelqu'un pourrait m'aider ?


    Dans l'attente de vos réponses, je vous salut.
    • Partager sur Facebook
    • Partager sur Twitter
      7 mai 2007 à 23:15:36

      Bonsoir

      Pourrait-on avoir le code qui le déclenche ? Et quel type de résultat cela devrait donner... Donne nous le contexte, s'il te plait

      Merci
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        8 mai 2007 à 13:15:34

        Pour répondre à Lifaen, j'ai une page qui me sert à éditer des tutoriels avec une mise en page via BBCode et parmi les options du dernier je peut rajouter des morceaux de code grâce à une balise [Code=langage] ... Code ... [/Code] que j'enregistre dans une table de ma base de données tel quel.

        Puis pour afficher mon tutoriel j'ai une fonction qui change les balises BBCode en balise (x)Html dont voici le code (je me suis appuyé sur ce tuto)

        function code($contenu)
        {
                $contenu = preg_replace('`\[ancre=(.+?)\](.+?)\[\/ancre\]`','<a id="$1">$2</a>', $contenu);
                $contenu = preg_replace('!\[h2\](.+)\[/h2\]!isU', '<h2>$1</h2>', $contenu);
                $contenu = preg_replace('!\[h3\](.+)\[/h3\]!isU', '<h3>$1</h3>', $contenu);
                $contenu = preg_replace_callback('!\[Code=(.+?)\](.+?)\[\/Code]!isU', 'couleur', $contenu);
                $contenu = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $contenu);
                $contenu = preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $contenu);
                $contenu = preg_replace('!\[u\](.+)\[/u\]!isU', '<u>$1</u>', $contenu);
                $contenu = preg_replace('`\[url=http://(.+?)\](.+?)\[\/url\]`', '<a href="$1" target="_blank">$2</a>', $contenu);
                $contenu = preg_replace('!\[img\](.+)\[/img\]!isU', '<image src="$1">', $contenu);
                $contenu = preg_replace('`\[Citation=(.+?)\](.+?)\[\/Citation\]`', '<fieldset class="cite"><legend>De $1 :</legend>$2</fieldset>', $contenu);
                $contenu = preg_replace('`\[Gauche\](.+)\[\/Gauche\]`' , '<span class="gauche">$1</span>', $contenu);
                $contenu = preg_replace('`\[Flot_Gauche\](.+)\[\/Flot_Gauche\]`' , '<span class="flot_g">$1</span>', $contenu);
                $contenu = preg_replace('`\[Centrer\](.+)\[\/Centrer\]`' , '<center>$1</center>', $contenu);
                $contenu = preg_replace('`\[Droite\](.+)\[\/Droite\]`' , '<span class="droite">$1</span>', $contenu);
                $contenu = preg_replace('`\[Flot_Droite\](.+)\[\/Flot_Droite\]`' , '<span class="flot_d">$1</span>', $contenu);
                $contenu = preg_replace('`\[Wiki\](.+)\[\/Wiki\]`' , '<a href="$1" target="_blank"><img src="bbcode/wiki.gif" alt="Article sur le wikipédia"/></a>', $contenu);
                $contenu = preg_replace('`\[Abbr=(.+?)\](.+?)\[\/Abbr\]`' , '<abbr title="$1">$2</abbr>', $contenu);
                $contenu = preg_replace('`\[Definition=(.+?)\](.+?)\[\/Definition\]`' , '<a class="info">$1 {?}<span>$2</span></a>', $contenu);
               
                // ----------------------------------------------------------------------------------- //
               
                $contenu = preg_replace('!\\:\)!isU', '<image src="../smilies/smile.png">', $contenu);
                $contenu = preg_replace('!\\:D!isU', '<image src="../smilies/heureux.png">', $contenu);
                $contenu = preg_replace('!\\;\)!isU', '<image src="../smilies/clin.png">', $contenu);
                $contenu = preg_replace('!\\:p!isU', '<image src="../smilies/langue.png">', $contenu);
                $contenu = preg_replace('!\\:lol\:!isU', '<image src="../smilies/rire.gif">', $contenu);
                $contenu = preg_replace('!\\:euh\:!isU', '<image src="../smilies/unsure.gif">', $contenu);
                $contenu = preg_replace('!\\:\(!isU', '<image src="../smilies/triste.png">', $contenu);
                $contenu = preg_replace('!\\:o!isU', '<image src="../smilies/huh.png">', $contenu);
                $contenu = preg_replace('!\\:colere\:!isU', '<image src="../smilies/mechant.png">', $contenu);
                $contenu = preg_replace('!\\(o_0\)!isU', '<image src="../smilies/blink.gif">', $contenu);
                $contenu = preg_replace('!\\:hihi\:!isU', '<image src="../smilies/hihi.png">', $contenu);
                $contenu = preg_replace('!\\:siffle\:!isU', '<image src="../smilies/siffle.png">', $contenu);
                $contenu = preg_replace('!\\:rouge\:!isU', '<image src="../smilies/rouge.png">', $contenu);
                $contenu = preg_replace('!\\:surpris\:!isU', '<image src="../smilies/waw.png">', $contenu);
                return $contenu;     
        }


        Et voici la fonction avec le Geshi qui est sensé colorer les codes :

        function couleur($matches)
        {
                include_once('geshi.php');
                if ($matches[1] == "html")
                {
                        $matches[1] = "html4strict";
                }
                $geshi = new GeSHi($matches[2], $matches[1]);
                $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 2);
                $geshi->set_line_style('background: #333333;', 'background: #333333;');
               
                if ($matches[1] == "html4strict")
                {
                        return '<fieldset><legend>Code HTML : </legend><div class="code">'.$geshi->parse_code().'</div></fieldset>';
                }
                else
                {
                        return '<fieldset><legend>Code '.strtoupper($matches[1]).': </legend><div class="code">'.$geshi->parse_code().'</div></fieldset>';
                }
        }



        EDIT :
        Je pense savoir d'où viens mon problème !


        Apparemment si je fais :


         ...
        [Code=html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
           <head>
               <title>Bienvenue sur mon site !</title>
               <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           </head>
           <body>
           </body>
        </html>[/Code]
        ...
        [Code=html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
           <head>
               <title>Bienvenue sur mon site !</title>
               <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
           </head>
           <body>
                Bonjour tout le monde !
           </body>
        </html>[/Code]


        Cela prend en compte $matches[1] = "[Code=html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
        <head>
        <title>Bienvenue sur mon site !</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
        </body>
        </html>[/Code]
        ...
        [Code=html]" et $matches[2] = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
        <head>
        <title>Bienvenue sur mon site !</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <body>
        Bonjour tout le monde !
        </body>
        </html>[/Code]".

        Donc si quelqu'un pourrait m'aider je lui en serait très reconnaissant.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          9 mai 2007 à 22:21:57

          Un petit UP pour ne pas m'oublier
          • Partager sur Facebook
          • Partager sur Twitter

          [Geshi] Erreur imcompréhensible

          × 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