Textarea, koi de semblable?

Eléphant du PHP | 155 Messages

07 juin 2005, 16:23

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...?

Eléphanteau du PHP | 14 Messages

07 juin 2005, 16:30

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^^
Modifié en dernier par veronique le 07 juin 2005, 16:35, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 juin 2005, 16:32

ca reviendra au même Véronique !!!!

Fait une recherche, j'ai déjà vu ce pb dans le forum
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 155 Messages

07 juin 2005, 16:34

ok, merci.

Mammouth du PHP | 19672 Messages

07 juin 2005, 16:37

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...?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

07 juin 2005, 16:38

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
Modifié en dernier par zeus le 07 juin 2005, 16:47, modifié 1 fois.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

07 juin 2005, 16:40

et ça va afficher le texte avec des <br> en plus, mais tout à la ligne, mauvaise solution.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 155 Messages

07 juin 2005, 17:41

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?

Eléphant du PHP | 155 Messages

07 juin 2005, 17:43

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.

Mammouth du PHP | 19672 Messages

07 juin 2005, 17:55

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é.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
pjl
ViPHP | 2119 Messages

07 juin 2005, 22:59

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 ?

Mammouth du PHP | 19672 Messages

08 juin 2005, 08:05

br2nl....? lol, je l'avais pas vue celle là, probablement en PHP12 :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

08 juin 2005, 08:50

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);
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

08 juin 2005, 09:07

Partant de là, tu peux très bien définir une fonction br2nl maison ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 155 Messages

08 juin 2005, 11:10

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)