je voudrais utiliser GeShi pour manipuler du texte envoyé par un formulaire, aussi j'envisage d'utiliser une balise type "bbcode" du style:
Code : Tout sélectionner
[code=php]Code : Tout sélectionner
[/code]
Pourriez-vous me guider pour la création du code qui me permettra de:
1. isoler ce qu'il y a entre les balises bbcode (c'est la chaine de caractère que je vais envoyé à GeShi pour qu'il me fasse la jolie coloration)
2. récupérer la chaine de caractère définissant le language ( entre = et ] ) (afin de l'envoyer aussi à GeShi pour qu'il sache quel modèle de coloration utiliser)
Enfin j'ai plus qu'à faire travailler GeShi:
<?php
$code = $_POST['code'];
/* Traitement de ma variable post afin de récupérer ce dont j'ai besoin
* -> $code: contient le code envoyé
* -> $lang: contient le nom du langage
*/
$geshi =& new GeSHi($code, $lang);
?>
Pour ce faire j'imagine qu'il faut que je passe par une expression régulière... Je dois demander à php de trouver ce qui est entre "[ code=XXX ]" et "[ /code ]", et au passage je dois récupérer "XXX" dans une variable.Comment construire une telle expression? Et avec quelle fonction l'utiliser?
En résumé, je dis à php:
tu me colles dans une variable $code tout ce qui se trouve entre ces chaines de caractères (bbcode), et tu me colles dans une variable $lang le language défini à l'intérieur de la balise bbcode...
Jusque là ça va, je conçois que ça doit être faisable, mais par contre j'ai besoin d'un p'tit coup de pouce... pour la réalisation.
Ps: question secondaire: pourquoi y un & après le = lors de la création de l'objet GeShi?
$geshi =& new GeSHi($code, $lang);
Merci pour votre aide, et bon dimanche à tous!!