Respect de la mise en page dans un textarea du navigateur vers base MySql

Eléphanteau du PHP | 35 Messages

21 avr. 2008, 14:19

Salut,

J'ai fait une interface pour que les utilisateurs puissent poster. Le problème est que lorsqu'ils postent, la mise en page n'est pas respectée! Je m'explique.

Voici un texte. Je veux exactement cette mise en page à l'écran.
Ut velit mauris, egestas sed, gravida nec, ornare ut, mi.
Aenean ut orci vel massa suscipit pulvinar.
Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula.
Pellentesque rhoncus nunc et augue. Integer id felis.
Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Morbi vel erat non mauris convallis vehicula.

Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam.
donc je fais un copier /coller dans mon textarea...je valide...et voici ce qui apparait dans le navigateur:
Ut velit mauris, egestas sed, gravida nec, ornare ut, mi.

Aenean ut orci vel massa suscipit pulvinar.

Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula.

Pellentesque rhoncus nunc et augue. Integer id felis.

Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.



Morbi vel erat non mauris convallis vehicula.



Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam.
je cours vérifier dans phpMyAdmin l'enregistrement concerné et voici mon champ 'texte':
Ut velit mauris, egestas sed, gravida nec, ornare ut, mi.<br />
Aenean ut orci vel massa suscipit pulvinar. <br />
Nulla sollicitudin. Fusce varius, ligula non tempus aliquam, nunc turpis ullamcorper nibh, in tempus sapien eros vitae ligula. <br />
Pellentesque rhoncus nunc et augue. Integer id felis.<br />
Curabitur aliquet pellentesque diam. Integer quis metus vitae elit lobortis egestas. <br />
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. <br />
<br />
Morbi vel erat non mauris convallis vehicula. <br />
<br />
Nulla et sapien. Integer tortor tellus, aliquam faucibus, convallis id, congue eu, quam.
Je ne vois pas d'où vient le rajout de <br />.
J'ai codé de cette façon pour la saisie et l'enregistrement de $texte avec INSERT
$texte = nl2br(htmlentities(ucfirst($_POST['texte'])));
et de cette façon pour l'affichage en prévisualisation (à noter qu'en prévisualisation la mise en page est bonne!!)
echo stripslashes($texte);
et comme ceci pour l'affichage sur le site après extract du champ 'texte'
echo nl2br($nouv['texte']);
Si je fais un copier/coller directement à partir de phpMyAdmin en insertion, la mise en page est respectée!! (ce qui est normal :roll: )

Il doit y avoir un ânerie quelque part...je ne la vois pas :?
Modifié en dernier par zest le 21 avr. 2008, 15:44, modifié 1 fois.
Peu de gens sont dignes de ne croire à rien.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 avr. 2008, 14:25

Salut,

Regarde dans la doc ce que fait nl2br() et joue (supprime, déplace, ajoute) avec :)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 35 Messages

21 avr. 2008, 14:35

nl2br() retourne string après avoir inséré '<br />' devant toutes les nouvelles lignes.
Ok, mais pourquoi depuis une saisie phpMyAdmin (c'est à dire ma base), nl2br() ne le fait pas ?
Je veux bien supprimer les <br />, mais si je veux en mettre un ??
Peu de gens sont dignes de ne croire à rien.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 avr. 2008, 14:49

j'en vois au moins deux moi :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 35 Messages

21 avr. 2008, 14:54

bon j'ai supprimé nl2br à l'enregistrement...

Je teste et...ça marche pas :shock:
...
bon en modifiant le code à l'enregistrement et à l'édition, ça fonctionne !!

Truc avait raison, en regardant dans la doc ce que fait nl2br() et en jouant avec on y arrive :-({|=

Merci... :wink:
Peu de gens sont dignes de ne croire à rien.