Balise code dans BBCode

Valentin45000
Invité n'ayant pas de compte PHPfrance

16 juil. 2010, 02:49

:D Bonjour tous le monde,
Voilà j'ai finalement tout refait mon site avec du BBCode, je trouve cela plus simple et je passe pour l'éditeur par Markitup pour seux qui connaisse.
Mais mon problème n'as pas réellement changer :mrgreen:
En fait je chercher à faire pilpoil comme ici, c'est pouvoir colorer du code, par exemple ici avec les balises

Code : Tout sélectionner

[php][/php]
Je ne sais pas trop comment mettre en place. Sinon je connait Geshi et Syntaxhighlighter (de google) si possible j'aimerais passer par Geshi qui est plus souple.
Pour faire simple j'aimerais que vous me guider sur le code à placer pour détecter les balise
(bon ça c'est juste du regex, c'est vite fait et je sais le faire ^^), mais surtout après comment appliquer la coloration.

Merci d'avance.
Amicalement.

Eléphant du PHP | 445 Messages

16 juil. 2010, 09:20

Salut,

Fonction trouvée dans la doc (dans les commentaires de highlight_string() plus précisement).
<?php

$str = "[php]<?php
echo 'test';
?>
";

echo bb_php($str);

function bb_php($str){
$str = str_replace("]\n", "]", $str);
$match = array('#\[php\](.*?)\[\/php\]#se');
$replace = array("'<div>'.highlight_string(stripslashes('$1'), true).'</div>'");
return preg_replace($match, $replace, $str);
}
?>[/php]

Affichera
<?php
echo 'test';
?>

Valentin45000
Invité n'ayant pas de compte PHPfrance

16 juil. 2010, 14:21

Merci beaucoup :mrgreen:
Mais finalement j'ai aussi réussi à faire quelque chose avec geshi en suivant se tuto :
http://www.tutoriels-video.fr/creer-un- ... -et-geshi/