Interpreter code comme etant html entre 2 balises

Petit nouveau ! | 2 Messages

02 oct. 2008, 16:54

Bonjour,

Je sèche sur ce problème depuis 2 jours.

Dans un formulaire, j'aimerai permettre l'ajout par les utilisateurs de code HTML. mais pour limiter les possibilités, j'aimerai que ce code HTML soit entouré des balises <pre> et </pre> ou autre ...

Voici donc le code que j'ai dans la page affichage :

Code : Tout sélectionner

$texte = $article['texte'] ; preg_match_all("#<pre>(.*)</pre>#sU", $texte, $pre); $suppr = '<pre>|</pre>'; for($i=0;$i < count($pre[0]); $i++) { $modif = preg_replace($suppr,'',$pre[0][$i]); $texte = str_replace($modif,html_entity_decode($modif),$texte); } echo'<td align="left" valign="top" width="75%"><p align="justify"><br>'.stripslashes($texte).'</td>';
Ben malheureusement ça marche pas. pas d'erreurs, mais les balises "pre" ne sont pas supprimées, et le code n'est pas interpreté.

Il s'agit d'un bout de code que j'ai trouvé ici : http://www.crea-web.fr/php/afficher_balises_html.html

Si quelqu'un pouvait m'aider

Un grand merci.

eric

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

02 oct. 2008, 21:12

Manque les délimiteurs de RegEx dans $suppr.

Correction:
$suppr = '#<pre>|</pre>#i';
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Petit nouveau ! | 2 Messages

03 oct. 2008, 09:55

bonjour,

Malheureusement c'est pas mieux.
Mon code :

Code : Tout sélectionner

preg_match_all("#[html](.*)[/html]#sU", $article['texte'], $pre); $suppr = '#[html]|[/html]#i'; for($i=0;$i < count($pre[0]); $i++) { $modif = preg_replace($suppr,'',$pre[0][$i]); $article['texte'] = str_replace($modif,html_entity_decode($modif),$article['texte']); }
Rien ne se passe.
le code est considere comme du texte alors que je veux qu'il ressorte en html.
les balises ne sont pas supprimées.

merci de votre aide

eric