Enregistrer la mise en forme d'un textearea

Eléphant du PHP | 363 Messages

15 févr. 2011, 18:05

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.
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Eléphant du PHP | 99 Messages

15 févr. 2011, 18:15

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

Eléphant du PHP | 363 Messages

16 févr. 2011, 11:58

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
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Eléphanteau du PHP | 24 Messages

16 févr. 2011, 13:05

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...)  { }
}

?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 févr. 2011, 22:14

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...