Page 1 sur 2

Textarea, koi de semblable?

Posté : 07 juin 2005, 16:23
par renatane
Bonjour,
J'ai dans un formulaire un champ TEXTAREA:
<TEXTAREA name='article' cols='100' rows='10' height=100% width=100% WRAP=virtual><?= $var3 ?></TEXTAREA>
Dans ce champ je place du texte, avec des espaces, des passages de lignes, mais quand j'affiche son contenu, j'ai tout le texte a la suite, sans passage de ligne.
C'est illisible!
Y a-t"il un autre moyen de faire des zone de texte qui respecte les alinéas, les sauts de lignes, les espaces répétés...?

Posté : 07 juin 2005, 16:30
par veronique
essaye ca:
<TEXTAREA name='article' cols='100' rows='10' height=100% width=100% WRAP="physical"><?php echo $var3; ?></TEXTAREA>

edit: ah bon :oops: dsl alors^^

Posté : 07 juin 2005, 16:32
par zeus
ca reviendra au même Véronique !!!!

Fait une recherche, j'ai déjà vu ce pb dans le forum

Posté : 07 juin 2005, 16:34
par renatane
ok, merci.

Posté : 07 juin 2005, 16:37
par Cyrano
Pour information, l'attribut wrap dans une balise textarea n'est pas standard, c'est la cuisine exclusive Microsoft. À éviter pour des raisons de compatibilités.

Ton texte issu de la variable est issu de où et formatté comment au juste ? En principe les retours de lignes sont d'habitude bien transmis et reproduits dans un textarea...?

Posté : 07 juin 2005, 16:38
par zeus
J'ai fait une petite recherche et :

quand tu récupère le contenu de ton textarea, avant de l'enregistrer dans la bdd, tu fait
$textbon = nl2br($_POST["testarea"]);
Et a l'affichage, tu fait :
<TEXTAREA name='article' cols='100' rows='10' height=100% width=100% WRAP=virtual><?= br2nl($var3) ?></TEXTAREA>
Ca devrait sauvegarder le formatage !!!!

-- EDIT --

Excuse moi Cyrano, j'ai fait un copier/coller brutal !!! c'est br2nl() qu'il faut utiliser dans l'affichage

Posté : 07 juin 2005, 16:40
par Cyrano
et ça va afficher le texte avec des <br> en plus, mais tout à la ligne, mauvaise solution.

Posté : 07 juin 2005, 17:41
par renatane
echo(nl2br($_POST['message']));
Le principe de cette fonction : remplacer les \n par un <br />.
voilà ce que j'ai trouvé sur le forum, je l'ai utilisé et ca marche.

Par contre, je sais pas ce qu'on entend par formatage.

Moi, je tape mon texte dans un textarea, et je veux qu'il soit pareil a l'affichage sur une autre page et donc a l'impression.

avec nl2br(), les passages a la ligne se font, par contre, qd je fait plusieurs espaces pour simuler une tabulation(qui ne marche pas dans mon textarea) , iseul 1 est pris en compte.

Comment puis-je faire pour pouvoir faire des tabulation?

Posté : 07 juin 2005, 17:43
par renatane
les données de ma variable d'affichage proviennent d'un formulaire . Entre les 2, y'a ma base de donnée.
Pour information, l'attribut wrap dans une balise textarea n'est pas standard, c'est la cuisine exclusive Microsoft. À éviter pour des raisons de compatibilités.
donc j'enlève l'attribut?
En vrai je ne sais pas a koi ca sert, j'avait regardé les différences entre phisical et virtual et un 3ème je croi, mais c tout.

Posté : 07 juin 2005, 17:55
par Cyrano
Cet attribut indique comment le retour de ligne automatique doit être utilisé dans une boîte de texte d'un formulaire. Les valeurs possibles sont :

off : Le retour de ligne automatique est désactivé.
physical : Le retour de ligne est actif autant à l'affichage que lors de l'envoi du formulaire.
virtual : Le retour de ligne est actif à l'affichage mais envoyé tel que tapé.

Posté : 07 juin 2005, 22:59
par pjl
Et a l'affichage, tu fait :
<TEXTAREA name='article' cols='100' rows='10' height=100% width=100% WRAP=virtual><?= br2nl($var3) ?></TEXTAREA>
br2nl !!!!
Ou as tu trouvé celà ?
C'est avec quelle version de PHP ?

Posté : 08 juin 2005, 08:05
par Cyrano
br2nl....? lol, je l'avais pas vue celle là, probablement en PHP12 :langue:

Posté : 08 juin 2005, 08:50
par zeus
maieuhhhh !!!! Les gens ils ne font que se payer ma tête !!! :cry:

D'accord, j'était pas en état hier et malheureusement, c'est pas la seule connerie que j'ai faite ....

Dans l'idée, je pensais à enregistrer avec des <br> et a l'affichage, de remplacer les <br> par de \n\r !!!!
str_replace("<br>", "\n\r", $text);

Posté : 08 juin 2005, 09:07
par Cyrano
Partant de là, tu peux très bien définir une fonction br2nl maison ;)

Posté : 08 juin 2005, 11:10
par renatane
Mon problème de passages ala ligne est résolu.

Par contre je me pose plein de questions sur le texte.

Comment ca se passe au niveau du formatage?
J'aimerai par la suite ajouter des bouton gras, souligné... comme ici pour la rédaction d'un post.
Comment ca fonctionne ces boutons, comment le txte change't'il d'aspect? Comment ces aspects sont-il enregistrés?

(si faut que je post un new sujet et que je mete celui là a résolu, dite le hein! je voudrai pas faire de conneries)