Probleme Geshin, code non coloré.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme Geshin, code non coloré.

par Ryle » 23 févr. 2008, 12:59

Modération :
Peper, les "up" sont interdits sur PHPFrance.

Merci de prendre le temps de lire les règlements.


Quant à ton problème, dans le premier cas tu écrases à chaque fois la variable $ligne avec le fgets() (au lieu de cncatener les valeurs dans ta chaine) du coup tu n'auras que la derniere ligne, et dans le second tu ne boucle pas et n'auras des lors que la première...

par Peperr » 22 févr. 2008, 20:55

Up!

par Peper » 18 févr. 2008, 16:06

lire tout le code et le stocker dans une variable avant de le passer à ton geshi, au lieu de lui donner ligne par ligne ?
Up! Est-ce que quelqu'un a une idée pour faire ça svp?

Merci.

par Peper » 16 févr. 2008, 20:12

Salut! Tout d'abord merci beaucoup pour ton aide.
Oui pour HTML , html4strict, merci pour la précision.

Je vois ce que tu veux dire seulement, je ne vois pas bien comment le faire XD.
Voila ce que j'ai essayé:
<?
include_once('geshi.php'); // Inclure la librairie GeSHi
$fichier=fopen("apercus.html","r"); //Je recupere mon fichier html dans $fichier

while (!feof($fichier))                     //feof, jusqu'a la fin du fichier faire....
{
		$ligne=fgets($fichier);   //Je lis chaque ligne du fichier
}
 
$language = 'html4strict'; // Définir le langage à utiliser
$geshi =& new GeSHi($ligne, $language); // Créer un objet "GeSHi"
echo $geshi->parse_code(); // Afficher le résultat
?>
Cela m'affiche:
parse_code(); // Afficher le résultat ?>
autrement dit, cela ne m'affiche plus de code du tout.

J'ai alors pensé à ce que tu as dis et ne pas lire le fichier ligne par ligne:
<?
include_once('geshi.php'); // Inclure la librairie GeSHi
$fichier=fopen("apercus.html","r"); 

$ligne=fgets($fichier);

$language = 'html4strict'; // Définir le langage à utiliser
$geshi =& new GeSHi($ligne, $language); // Créer un objet "GeSHi"
echo $geshi->parse_code(); // Afficher le résultat
?>
J'ai le même probleme, plus de code afiché... Je sais plus quoi faire -_-

Je bloque, ça m'enerve... :?

Merci à ceux qui m'aide et qui m'aideront.

par Ryle » 16 févr. 2008, 18:44

Et si tu faisais comme dans l'exemple que tu nous donnes et qui fonctione : lire tout le code et le stocker dans une variable avant de le passer à ton geshi, au lieu de lui donner ligne par ligne ?

par ailleurs es-tu sur qu'il existe une coloration pour le langage "html" ? un rapide survol de la doc me donne comme exemple de langage "html4strict" et non juste "html" .... peut être une piste à creuser :)

Probleme Geshin, code non coloré.

par Peper » 16 févr. 2008, 17:33

Salut à tous!
Je vais vous exposer mon problème...
Un membre, ou moi même, peut écrire son code html dans un formulaire, une fois finis, il valide et peut observer le résultat sur une page aperçus. Sur la page principale le code est affiché. Jusque là pas de problème, ça marche impeccable (j'utilisais les balises xmp, qui marchaient d'ailleurs très bien).

J'aimerais maintenant coloré mon code.
J'ai transférer geshi.php, /contrib, /geshi, /docs à la racine de mon site (je fais les tests en local, mais online ça marche pas non plus XD)
Voila le code (avec ce que j'appelle):
<?php
include_once('geshi.php'); // Inclure la librairie GeSHi
 
$source=fopen("apercus.html","r");
while (!feof($source))
{
        $ligne=fgets($source);
        $language = 'html';
        $geshi =& new GeSHi($ligne, $language); // Créer un objet "GeSHi"
         echo $geshi->parse_code();
}
mysql_close();
?>
Le code est bien appelé et on peut le lire. Bon le problème c'est que Geshin saute une ligne à chaque fois, mais le problème principal reste que le code n'est pas coloré...

A mon avis il y a un problème avec le while car si je teste geshin sans rien faire c'est à dire juste grace à ce script:
<?
include_once('geshi.php'); // Inclure la librairie GeSHi
 
// Mettre la source dans la variable $source
 
$source = '$foo = 45;
for ( $i = 1; $i < $foo; $i++ )
{
 echo "$foo<br />\n";
 --$foo;
}';
 
$language = 'php'; // Définir le langage à utiliser
 
$geshi =& new GeSHi($source, $language); // Créer un objet "GeSHi"
echo $geshi->parse_code(); // Afficher le résultat
?>
He bas ça marche impeccable, mais ça n'est pas ce que je veux puisque j'apelle le script...

Quelqu'un a t 'il une idée?

MERCI d'avance!!!