probleme bbcode

Répondre
vengeur002
vengeur002
Déconnecté
La prog c est pas sorcier suffis juste de s'y coller ^^
bonjour j ai ce code

  1.  
  2. $texte = str_replace ('[code]','<div id="code">highlight_file('', $texte);
  3. $texte = str_replace (' 
','')</div>', $texte);


[/code]

mais quand j ai un code entre deux balise code, c am affiche highlight_file(' le code ')

quelqu un peux t il m aiguillé pour résoudre ce probleme?

merci d avance

smiley
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Heu... ouais.

J'ai envie de dire que c'est normal.
T'as un problème de concaténation : ta fonction highlight_file n'est pas interprété par PHP car elle est "lue" comme une chaine de caractère par PHP.

C'est comme si tu faisais :

  1. <?php
  2. echo 'pom strlen(\'blu\');';  
  3. ?> 


Ben ca, ca n'affichera pas la longueur de la chaine, ca affichera "pom strlen('blu');".

Il faudrait faire :

  1. <?php
  2. echo 'pom '.strlen('blu');  
  3. ?> 


(pour que la concaténation soit prise en compte et que ca affiche "pom 3")

Mais bon, ca c'est une chose.

Le problème, c'est que dans ton cas, ca ne t'aidera pas, car pour faire ce que tu cherches à faire, un simple str_replace ne suffit pas.
Il faut faire une expression régulière avec un preg_replace_callback.

Je te conseille de lire le cours sur les expressions régulières.
Répondre
Accès rapide :

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