Page 1 sur 1
Enregistrer la mise en forme d'un textearea
Posté : 15 févr. 2011, 18:05
par foetus69
re Bonjour,
Je cherche à conserver la mise en forme posté depuis un textarea. comme le phpbb en somme.
C'est à dire que si la personne a saisi :
Bonjour,
J'adore phpFrance !
Bisous
Je puisse stocker en base ses retours charriots
Merci de votre aide.
Foetus du 69.
Re: Enregistrer la mise en forme d'un textearea
Posté : 15 févr. 2011, 18:15
par crash
Si ton champ est de type "text" ça stocke en bdd le texte tel que tu l'as écris.
C'est simplement au niveau de l'affichage que ça n'affichera sans les retours chariots, pour celà il faut que tu utilises la fonction
nl2br
Re: Enregistrer la mise en forme d'un textearea
Posté : 16 févr. 2011, 11:58
par foetus69
Bonjour et merci !
Je m'étais en effet tournée vers cette fonction. Ca m'enregistre bien des <br /> en base seulement au niveau du format de sortie mes <br /> ne sont pas interprétées comme du html et ca me sort :
Bonjour,<br />J'adore phpFrance !<br />Bisous
Comment puis-je faire ? Il faut utiliser une autre fonction de sortie comme htmlentities ?
Est-il possible d'enregistrer à la place des <br /> des \r ?
F69
Re: Enregistrer la mise en forme d'un textearea
Posté : 16 févr. 2011, 13:05
par mauvais
Salut,
En supposant que ton textarea a comme nom "contenu" :
<textarea name="contenu"></textarea>
<?php
if( isset($_POST['contenu']))
{
$contenu=strip_tags($_POST['contenu']); // ou htmlentities
$contenu = nl2br($contenu]);
if (tes conditions...) { }
}
?>
Re: Enregistrer la mise en forme d'un textearea
Posté : 16 févr. 2011, 22:14
par Ryle
En fait, la fonction nl2br devrait être utilisée au moment de l'affichage et non lors de l'enregistrement
En gros tu stockes la chaine telle qu'elle a été envoyée (ce qui te permet de la restituer telle quel si tu as besoin de la modifier), et lorsque tu dois l'afficher dans du html, tu fais appel à nl2br pour ajouter les <br /> qui seront interprétés par le navigateur
