Ajouter une fonction [code] [/code] à mon script...

Ajouter une fonction [code] [/code] à mon script... - PHP - Programmation

Marsh Posté le 13-01-2003 à 18:00:09    

J'ai un petit problème et je ne sais pas comment m'y prendre... Je suis en train de coder un forum et je fais un système similaire à celui de HFR pour rajouter du texte en gras par exemple : [ b]  [/ b].
 
J'aimerais mettre une fonction qui puisse asigner des couleurs au code. Je sais qu'on utilise highlight_string, mais le problème c'est que je ne sais pas comment l'utiliser correctement dans ma fonction. Pour mettre du texte en gras, j'utilise ceci par exemple :
 
  // et
  $textebb = preg_replace("/\[b\](.*?)\[\/b\]/si", "<!-- BBCode commence --><b>\\1</b><!-- BBCode se stoppe -->", $textebb);
 
(Oui vous avez tous reconnu le bbcode de phpbb  :o )
 
Le problème c'est que je n'arrive pas à intégrer la fonction highlight_string... Si quelqu'un peut m'éclairer...


---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
Reply

Marsh Posté le 13-01-2003 à 18:00:09   

Reply

Marsh Posté le 22-01-2003 à 19:38:02    

Bon, je vais reformuler ma demande  :D  
 
Ce que j'aimerais, c'est utiliser la fonction highlight_string() sur tout le texte qui serait entre des balises [ code] et [ /code].
 
Allez un p'tit peu d'aide siouplait :)


Message édité par Evolvox le 22-01-2003 à 19:38:29

---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
Reply

Marsh Posté le 22-01-2003 à 21:10:57    

DL
phpBB 1.4.4 par exemple
 
edite le fichier functions.php fonction  bbencode
tu devrais avoir ton explication :o

Reply

Marsh Posté le 24-01-2003 à 15:30:17    

J'ai cherché mais bon... ce code est une vrai horreur pour mes petits neurones...  :cry:


---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
Reply

Marsh Posté le 24-01-2003 à 16:19:25    

Code :
  1. $textebb = preg_replace_callback('`\[code\](.*?)\[/code\]`si', 'code', $textebb);
  2. function code($array){
  3. $code = $array[1];
  4. return highlight_string($code);
  5. }


 
"preg_replace_callback" fait appel à une fonction pour traité le texte. Ici la fonction s'appelle "code". Cette fonction reçoit le texte capturé dans un tableau. "preg_replace_callback" remplace le texte par ce que la fonction ("code" ) lui retourne avec "return".
C'est pas très clair, mais en regardant bien tu devrais comprendre. ;)

Reply

Marsh Posté le 24-01-2003 à 17:03:25    

une classe de gestion bbcode a été ajoutée cette semaine sur phpclasses.org
 
http://www.phpclasses.org/browse.html/package/951.html


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 25-01-2003 à 00:46:16    

J'ai compirs le principe, mais quand j'essaye ça me donne ça :
 
Fatal error: Cannot redeclare code() (previously declared in c:\program files\easyphp\www\forum\addbbcode.php:24) in c:\program files\easyphp\www\forum\addbbcode.php on line 24
 
 :??:  


---------------
gaymer's est la personne la plus formidable jamais rencontrée dans toute ma vie, je lui achèterais un makato et au moins les 4 news pourries quotidiennes qui vont avec
Reply

Marsh Posté le 25-01-2003 à 02:26:07    

Donne un autre nom à la fonction !
Par exemple :

Code :
  1. $textebb = preg_replace_callback('`\[code\](.*?)\[/code\]`si', 'trutruc', $textebb);
  2. function trutruc($array){
  3. $code = $array[1];
  4. return highlight_string($code);
  5. }


Ça marche aussi !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed