Bonjour,

voilà mon petit souci, je veux afficher sur ma page web une variable qui contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$contenu="truc avant [SCRIPT]<table><tr><td></td></tr></table>[/SCRIPT]truc après
L'ensemble peut se trouver su plusieurs ligne.
Je veux que ceux qu'il y a entre [SCRIPT] et [/SCRIPT] s'affiche sur la page internet mais dans l'état actuel, la page html traduit cela comme un tableau.
Je voudrais donc convertir tous les < entre ces deux balises par &lt; sachant que le contenu peut varier, il peut y avoir un "<" comme 20 "<".
J'ai codé ça, je pensais que ça fonctionnerai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$pattern[]="#\[SCRIPT\](.+)\[\/SCRIPT\]#mi";
$replace[]="<script>htmlentities('$1')</script>";
echo preg_replace($pattern,$replace,$contenu);
Il me fait bien afficher : truc avant<script></script>truc après, mais il me convertit pas $1 avec la fonction htmlentities, le contenu est recopié tel quel avec en plus htmlentities qui se situe sur la page juste après le <script>, donc il est pris comme une chaine de caractère. En esayant de décomposer, ça plante.

Une solution ?