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 :)