01-07-2007, 08:05 PM
Klemmth a écrit :Bonjour à tous !
Voilà, j'ai un petit problème avec geshi, comme le précise le titre. En effet, je m'en sers pour donner un aperçu coloré d'un code en passant par un bouton. Pour ne pas avoir à recharger la page, je me sers de xajax. Jusque là pas de problème.
Le problème maintenant c'est si je veux afficher les numéros de lignes ( $geshi->enable_line_numbers( GESHI_NORMAL_LINE_NUMBERS ); ). En effet ça ne marche pas. Je suppose que le problème vient de xajax et je ne connais pas assez le fonctionnement de geshi pour avoir une idée de comment résoudre le problème. Donc si quelqu'un s'y connait mieux que moi et aurait une idée de la solution, je suis preneur
Voici la fonction qui s'occupe de tout ça :
Code PHP :<?php
/* AfficheCodeColore - Affiche le code demandé en couleur
. $Source (char): Code à colorer
. $Langage (char): Langage du code
. $AfficherLignes (bool) : Afficher ou non les numéros de ligne
. $Fichier (bool) : Le code provient de fichier ou non ( si oui $Code doit être égal au nom du fichier )
*/
function AfficheCodeColore( $Source, $Langage, $AfficherLignes = FALSE, $Fichier = FALSE )
{
$Reponse = new xajaxResponse();
( $Fichier ) ? $Code = file_get_contents( $Source ) : $Code = $Source;
$geshi =& new GeSHi( $Code, $Langage );
if( $AfficherLignes )
$geshi->enable_line_numbers( GESHI_NORMAL_LINE_NUMBERS );
$Reponse->addAssign( "code_colore", "innerHTML", $geshi->parse_code() );
return $Reponse->getXML();
}