probleme bbcode

Répondre
vengeur002
le 27/03/2007 à 21:07
vengeur002
bonjour j ai ce code

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


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
le 27/03/2007 à 21:45
LA GLOBULE
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 :

<?php
echo 'pom strlen(\'blu\');';
?>


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

Il faudrait faire :

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


(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

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours