le code php en couleur

page 1 page 2
Répondre
tyberium
tyberium
Déconnecté
bonjour

je desire colorer mon code php via le bbcode J utilise la fonction highlight_string()
voici ma regex
  1. <?php
  2. $var = preg_replace("#\[php\](.+)\[/php\]#isU","<pre class=\"bbcode\">".html_entity_decode(highlight_string("$1"))."</pre>",$var);  
  3. ?> 


ca ne marche pas smiley J ai afficher 1 a la plce du code ... mais si j enleve la fontion highlight_string() de ma regex ca fonctionne, enfin sans la couleur biensur ...

si je fait comme dans la doc
  1. <?php
  2. highlight_string('<?php phpinfo(); ?>');  
  3. ?>  


ca fonction bien ... Donc des que je l utilise dans une regex ca deconne

j aimerais savoir comment vous faite pour mettre un lien sur les fonction smiley

@ bientot jerome
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Le problème, c'est que après ta regex, tu dois surement faire un echo de $var.

Et c'est la que le 1 s'affiche.

Passe un deuxième argument à highlight_string, en le setant à TRUE, comme indiqué dans la doc, ca marchera mieux :)
tyberium
tyberium
Déconnecté
bonjour

Merci ... le probleme est que je n arrive pas à passer hors d un echo.

Je n arrixe pas à trrouver un exemple. Vous faites comment pour ce forum ?

Merci

@ bientot jerome
Bzh
Bzh
Déconnecté
Un simple highlight_string !!!!

highlight_string n' a pas besoin d' un "echo" !!! Il affiche par lui même !!!!

Bye...
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Passe un deuxième argument à highlight_string, en le setant à TRUE, comme indiqué dans la doc, ca marchera mieux :)


Dans ce cas, la fonction n'affiche pas, elle stocke le tout dans une variable (ce qu'il te faut).

--
Lisez un peu les messages qu'on écrit quand meme :)
manu56
manu56
Déconnecté
Salut,
Je vais sans doute me faire taper sur les doigts mais la colorisation du code ne se fait pas ...
Voici mon code :
$texte = preg_replace("#\[code\](.+)\[/code\]#isU",html_entity_decode(highlight_string("$1",TRUE)),$texte);

Dans le code html, je vois que le hilight_string fonctionne mais il n'a pas considéré le <?php, cela ne vient -il pas du html_entity_decode?

Désolé de relancer ce sujet mais je suis un peu dans le flou :)
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Pourquoi as tu besoin de faire un html_entity_decode ?

Tu fais un htmlentities avant de mettre les infos en base ? smiley
manu56
manu56
Déconnecté
Oui je fais un htmlentities avant de stocker mes infos, je le fais tout le temps ... :/
Il vaudrait mieux le faire après? smiley
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
oui, vaut mieux :)
Tout comme les nl2br et autres fonctions amusantes.

Enfin bref...

Bon, je teste ton code pour voir.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Essaye çà :

  1. <?php
  2. function highlight($tab) {  
  3. return highlight_string($tab[1], true);  
  4. }  
  5.  
  6. $texte = preg_replace_callback('`\[code\](.+?)\[\/code\]`isU', 'highlight' ,$texte);  
  7.  
  8. echo $texte;  
  9. ?> 
manu56
manu56
Déconnecté
erf :/
Fatal error: Cannot redeclare highlight() (previously declared
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Bah, declare qu'une seule fois la fonction :)

Ou bien change son nom...
manu56
manu56
Déconnecté
J'ai déja essayé ... Cela ne viens pas du fait que j'utilise ce fichier en include depuis un autre fichier?
manu56
manu56
Déconnecté
Non lol c'est bon j'ai trouvé ma connerie ^^
Sinon ca marche uniquement si je met le htmlentities après le stockage :)

Merki beaucoup de ton aide a cette heure tardive ;)
Bzh
Bzh
Déconnecté
Il est vraiment conseillé de mettre les données en brut dans la base !!!

Ainsi, pour les prochaines modifications de ton site, le format de ta base de te génera pas...

Alors que si tu es passé par un htmlentities puis nl2br, lorsque tu voudras par exemple proposer la modification par textarea tu seras très embêté !!!

Enfin, vraiment, enregistre en brut !!!

Bye...
page 1 page 2
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog