TextArea comment conserver les balises < et >
Résolu
Snip714
Messages postés
240
Date d'inscription
Statut
Membre
Dernière intervention
-
Snip714 Messages postés 240 Date d'inscription Statut Membre Dernière intervention -
Snip714 Messages postés 240 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je crée actuellement un textarea qui permet au membre d'insérer du bbcode, mais lorsqu'il veut insérer une balise html ( < et > ) et bien, lors de l'affichage ça me met...rien !!
Pourtant, sur ccm, ça fonctionne : <html>, <b>...comment ça se fait ?
Alors comment conserver les balises html ?
Merci à tous,
Pourtant, sur ccm, ça fonctionne : <html>, <b>...comment ça se fait ?
Alors comment conserver les balises html ?
Merci à tous,
A voir également:
- TextArea comment conserver les balises < et >
- Realme gt 7t - Guide
- Code gt - Guide
- Gt recovery sms - Télécharger - Récupération de données
- Dragon ball gt scan ✓ - Forum Cinéma / Télé
- Connecter huawei watch gt 2 sur samsung - Forum Accessoires & objets connectés
12 réponses
en php, regarde les fonctions: html_entities(), html_special_chars(), et strip_tags().
Une des trois devrait faire l'affaire je crois. Par contre je sais pas si j'ai mis les _ aux bons endroits dans les noms ds fonctions...
Une des trois devrait faire l'affaire je crois. Par contre je sais pas si j'ai mis les _ aux bons endroits dans les noms ds fonctions...
Tout d'abord merci de ta réponse, mais j'ai essayé les trois sans résultat. Même avec les 3 en même temps. :(
Si tu veux l'intégralité du code :
}
function make($chaine)
{
$chaine = stripcslashes(html_entity_decode($chaine));
$chaine = preg_replace('/\<bold\>(.+?)\<\/bold\>/', '<strong>$1</strong>', $chaine);
$chaine = preg_replace('/\<italic\>(.+?)\<\/italic\>/', '<em>$1</em>', $chaine);
$chaine = preg_replace('/\<under\>(.+?)\<\/under\>/', '<u>$1</u>', $chaine);
$chaine = preg_replace('/\<image\>(.+?)\<\/image\>/', '<img src="$1" />', $chaine);
$chaine = preg_replace('/\<url\>(.+?)\<\/url\>/', '<a href="$1">$1</a>', $chaine);
$chaine = preg_replace('/\<title1\>(.+?)\<\/title1\>/', '<p class="title1">$1</p>', $chaine);
$chaine = preg_replace('/\<title2\>(.+?)\<\/title2\>/', '<p class="title2">$1</p>', $chaine);
$chaine = preg_replace('/\<title3\>(.+?)\<\/title3\>/', '<p class="title3">$1</p>', $chaine);
$chaine = preg_replace('/\<left\>(.+?)\<\/left\>/', '<div align="left">$1</div>', $chaine);
$chaine = preg_replace('/\<center\>(.+?)\<\/center\>/', '<div align="center">$1</div>', $chaine);
$chaine = preg_replace('/\<right\>(.+?)\<\/right\>/', '<div align="right">$1</div>', $chaine);
$chaine = preg_replace('/\<info\>(.+?)\<\/info\>/', '<div class="info">$1</div>', $chaine);
$chaine = preg_replace('/\<warn\>(.+?)\<\/warn\>/', '<div class="warn">$1</div>', $chaine);
$chaine = preg_replace('/\<idea\>(.+?)\<\/idea\>/', '<div class="idea">$1</div>', $chaine);
$chaine = preg_replace('/\<color="#(.+?)"\>(.+?)\<\/color\>/', '<font color="#$1">$2</font>', $chaine);
$chaine = preg_replace_callback('/\<code language="(.+?)" title="(.+?)"\>(.+?)\<\/code\>/', 'cur', $chaine);
$chaine = nl2br($chaine);
return($chaine);
}</code>
Si tu veux l'intégralité du code :
function cur($matches) { $geshi = new GeSHi($matches[3], $matches[1]); return '<div class="titcode">'.$matches[2].'</div><div class="code">'.htmlentities(htmlspecialchars(strip_tags($geshi->parse_code()))).'';
}
function make($chaine)
{
$chaine = stripcslashes(html_entity_decode($chaine));
$chaine = preg_replace('/\<bold\>(.+?)\<\/bold\>/', '<strong>$1</strong>', $chaine);
$chaine = preg_replace('/\<italic\>(.+?)\<\/italic\>/', '<em>$1</em>', $chaine);
$chaine = preg_replace('/\<under\>(.+?)\<\/under\>/', '<u>$1</u>', $chaine);
$chaine = preg_replace('/\<image\>(.+?)\<\/image\>/', '<img src="$1" />', $chaine);
$chaine = preg_replace('/\<url\>(.+?)\<\/url\>/', '<a href="$1">$1</a>', $chaine);
$chaine = preg_replace('/\<title1\>(.+?)\<\/title1\>/', '<p class="title1">$1</p>', $chaine);
$chaine = preg_replace('/\<title2\>(.+?)\<\/title2\>/', '<p class="title2">$1</p>', $chaine);
$chaine = preg_replace('/\<title3\>(.+?)\<\/title3\>/', '<p class="title3">$1</p>', $chaine);
$chaine = preg_replace('/\<left\>(.+?)\<\/left\>/', '<div align="left">$1</div>', $chaine);
$chaine = preg_replace('/\<center\>(.+?)\<\/center\>/', '<div align="center">$1</div>', $chaine);
$chaine = preg_replace('/\<right\>(.+?)\<\/right\>/', '<div align="right">$1</div>', $chaine);
$chaine = preg_replace('/\<info\>(.+?)\<\/info\>/', '<div class="info">$1</div>', $chaine);
$chaine = preg_replace('/\<warn\>(.+?)\<\/warn\>/', '<div class="warn">$1</div>', $chaine);
$chaine = preg_replace('/\<idea\>(.+?)\<\/idea\>/', '<div class="idea">$1</div>', $chaine);
$chaine = preg_replace('/\<color="#(.+?)"\>(.+?)\<\/color\>/', '<font color="#$1">$2</font>', $chaine);
$chaine = preg_replace_callback('/\<code language="(.+?)" title="(.+?)"\>(.+?)\<\/code\>/', 'cur', $chaine);
$chaine = nl2br($chaine);
return($chaine);
}</code>
ARF !!
j'avais un code justement pour interdire les << et >> dans les textarea
pour les autoriser je savais pas qu'il fallait une manip spéciale je croyais que c'était implicite
==
a tester :
ou alors dans ton script tu lui fais modifier < en <
a voir
j'avais un code justement pour interdire les << et >> dans les textarea
pour les autoriser je savais pas qu'il fallait une manip spéciale je croyais que c'était implicite
==
a tester :
<textarea name="NAME" id="ID" tabindex="43" class="CLASS" style="width: 300px; height: 80px;" cols="40" rows="4" wrap="virtual"></textarea>
ou alors dans ton script tu lui fais modifier < en <
a voir
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Malheureusement ça ne marche pas...
Auriez vous une autre solution ?
Auriez vous une autre solution ?
salut,
en enlevant les espaces dans les entités.
$var = str_replace( array( '<' , '>' ) , array( '& lt;' , '& gt;' ) , $var );
en enlevant les espaces dans les entités.
Ce qui donne :
$var = str_replace( array( '<' , '>' ) , array( '<' , '>' ) , $var );
à copier coller, sans avoir d'espaces à enlever.
(bah oui, la balise code elle soule des fois ;o) )
++
$var = str_replace( array( '<' , '>' ) , array( '<' , '>' ) , $var );
à copier coller, sans avoir d'espaces à enlever.
(bah oui, la balise code elle soule des fois ;o) )
++
Oui, j'ai déjà pensé à ça :
Mais du coup ça affecte aussi les <image>, <url>,etc...
Merci beaucoup d'avance,
function make($chaine) { $chaine = stripslashes(html_entity_decode($chaine)); $chaine = preg_replace('/\<bold\>(.+?)\<\/bold\>/', '<strong>$1</strong>', $chaine); $chaine = preg_replace('/\<italic\>(.+?)\<\/italic\>/', '<em>$1</em>', $chaine); $chaine = preg_replace('/\<under\>(.+?)\<\/under\>/', '<u>$1</u>', $chaine); $chaine = preg_replace('/\<image\>(.+?)\<\/image\>/', '<img src="$1" />', $chaine); $chaine = preg_replace('/\<url\>(.+?)\<\/url\>/', '<a href="$1">$1</a>', $chaine); $chaine = preg_replace('/\<title1\>(.+?)\<\/title1\>/', '<p class="title1">$1</p>', $chaine); $chaine = preg_replace('/\<title2\>(.+?)\<\/title2\>/', '<p class="title2">$1</p>', $chaine); $chaine = preg_replace('/\<title3\>(.+?)\<\/title3\>/', '<p class="title3">$1</p>', $chaine); $chaine = preg_replace('/\<left\>(.+?)\<\/left\>/', '<div align="left">$1</div>', $chaine); $chaine = preg_replace('/\<center\>(.+?)\<\/center\>/', '<div align="center">$1</div>', $chaine); $chaine = preg_replace('/\<right\>(.+?)\<\/right\>/', '<div align="right">$1</div>', $chaine); $chaine = preg_replace('/\<info\>(.+?)\<\/info\>/', '<div class="info">$1</div>', $chaine); $chaine = preg_replace('/\<warn\>(.+?)\<\/warn\>/', '<div class="warn">$1</div>', $chaine); $chaine = preg_replace('/\<idea\>(.+?)\<\/idea\>/', '<div class="idea">$1</div>', $chaine); $chaine = preg_replace('/\<color="#(.+?)"\>(.+?)\<\/color\>/', '<font color="#$1">$2</font>', $chaine); $chaine = preg_replace_callback('/\<code language="(.+?)" title="(.+?)"\>(.+?)\<\/code\>/', 'cur', $chaine); $chaine = preg_replace('/\</', '<', $chaine); $chaine = preg_replace('/\>/', '>', $chaine); $chaine = nl2br($chaine); return($chaine); }
Mais du coup ça affecte aussi les <image>, <url>,etc...
Merci beaucoup d'avance,
Merci mais malheureusement ça ne marche pas non plus. Peut être en créant un array avec ('url','<image>'),etc...
tu utilises 'string_repleace()' avec un tableau contenant toutes les balises à modifier et un autre avec toutes les balises modifiées ?!
Non, c'était juste une proposition mais je ne la croit pas concrète. Avez vous autrechose, svp ?
salut,
ouais mais le problème est pas très clair…
se rendre compte que <image> est affecté après avoir effectué son remplacement, c'est pour le moins contradictoire ! cf. <9>
-;o)
ouais mais le problème est pas très clair…
se rendre compte que <image> est affecté après avoir effectué son remplacement, c'est pour le moins contradictoire ! cf. <9>
-;o)