FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » [PHP] conserver mise en forme d'un textarea -c'est bon merci
 

[PHP] conserver mise en forme d'un textarea -c'est bon merci

Il y a 327 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [PHP] conserver mise en forme d'un textarea -c'est bon merci
 
God has chosen me.
Plus d'informations

Salut, comment faites-vous pour conserver la mise en forme dans un textarea lors de son passage dans une variable.
 
Comme ici, par exemple, où les retours à la ligne et les espaces sont conservés...
 
Et comment faites-vous pour réafficher le tout pareil qu'à l'écriture ?


Message édité par martoh le 26-03-2003 à 11:47:56

---------------
"Je crois que t'as été un enfant dans une vie antérieure."©Mazee
"je resterai froid et distant pour lui montrer à quel point je peux devenir dur quand on me chauffe !"©martoh
"c privée et ça necessite de la discretion"©curly  
[g]Da Bidz Triad ©®™ : [/g

There no easy way out

Martoh a écrit :


Salut, comment faites-vous pour conserver la mise en forme dans un textarea lors de son passage dans une variable.
 
Comme ici, par exemple, où les retours à la ligne et les espaces sont conservés...
 
Et comment faites-vous pour réafficher le tout pareil qu'à l'écriture ?


 
avant la mise en variable transforme les avec des elements separateur (de memoire /n c retour a la ligne ..)
genre une convertion de tous les espaces en &ESP& bon ok ca fais 2 traitements mais bon :/ a froid je vois ca comme ca (j'suis mort j'ai pas bcp dormis :D )


---------------
I don't wanna pasify you i don't wanna drag you down
but i'm feelin like a prisoner like a stranger in a no named town
i see all the angry faces afraid that could be you and me
talkin about what might have been i'm thinkin about what i used to be

 

Plus d'informations

pour les retours a la ligne :  
 
 
$corps_news=ereg_replace(chr(13),'<br>',$corps_news);

God has chosen me.
Plus d'informations

:D merci
 
ai aussi trouvé
 
$string2=nl2br($string1);
 
et en mieux pour virer les \ des " et '
 
$string2=nl2br(stripslashes($string1));


---------------
"Je crois que t'as été un enfant dans une vie antérieure."©Mazee
"je resterai froid et distant pour lui montrer à quel point je peux devenir dur quand on me chauffe !"©martoh
"c privée et ça necessite de la discretion"©curly  
[g]Da Bidz Triad ©®™ : [/g
plop
Plus d'informations

Aussi pour eviter qu'un couillon foire toute ta présentation en tableau (si tableau il y a) ou simplement insert des truc en JS, mieux vaut faire un htmlentities() avant le nl2br()

God has chosen me.
Plus d'informations

THEniluje a écrit :

Aussi pour eviter qu'un couillon foire toute ta présentation en tableau (si tableau il y a) ou simplement insert des truc en JS, mieux vaut faire un htmlentities() avant le nl2br()

? tu peux m'espliker ? paske on peut coller du js qui marche dans un textarea ?
 
il faudrait faire quoi ?  
 
$string2=htmlentities(nl2br(stripslashes($string1)));
 
je vais pas me retrouver avec plein de \ dans le tas ?


---------------
"Je crois que t'as été un enfant dans une vie antérieure."©Mazee
"je resterai froid et distant pour lui montrer à quel point je peux devenir dur quand on me chauffe !"©martoh
"c privée et ça necessite de la discretion"©curly  
[g]Da Bidz Triad ©®™ : [/g
plop
Plus d'informations

En gros ton truc, si tu veut restituer tel quel ce que tappe l'utilisateur dans ton textarea, tu va te retrouver face a quelques probleme :
 
Que va-t-il se passer si la personne tappe "</td></tr></table>" ?
Ou </textarea> s'il y a une possibilitée d'edition ?
 
Donc pour eviter que n'importe qui bousille tout (volontairement ou non bien sur) il faudrait modifier les "<" et compagnie en leur caractere "&code;" ce que fait htmlentities().
Comme ca quand tu balance dans ta page html ce que l'utilisateur a tapper, celui ci vois le "<" mais il n'est pas interpreté comme une balise html.
 
 
A propos du JS : bien si on peut entrer "<table>" on peut tres bien entrer un javascript opérationnel afin, je ne sais pas, de récuperer des cookies...
 
 
Sinon, il ne faut pas utiliser : $string2=htmlentities(nl2br(stripslashes($string1)));  
mais : $string2=nl2br(htmlentities(stripslashes($string1)));  
 
 
Et non ca va pas foutre de \ partout ;)

God has chosen me.
Plus d'informations

:jap: merci beaucoup pour tes infos !
 
C'est pour ça que la majorité des forums utilisent des tags [ img ] ? mais il faut faire le remplacement au fur et à mesure ? y a moyen de le faire rapidement ?


---------------
"Je crois que t'as été un enfant dans une vie antérieure."©Mazee
"je resterai froid et distant pour lui montrer à quel point je peux devenir dur quand on me chauffe !"©martoh
"c privée et ça necessite de la discretion"©curly  
[g]Da Bidz Triad ©®™ : [/g
plop
Plus d'informations

La raison exacte des crochets, je sais pas d'où ca viens, mais bon, pour les forum, ca evite de remplacer ca qui est entre "code de <" et "code de >" (car une fois ta chaine passée dans htmlentities, tes "<" deviennent "&code_machincose;" ) par un remplement direct de ce qu'il y a entre crochets (qui restent inchangé par htmlentities)
 
 
 
Pour faire un remplacement, c'est dommage que les archives ppc soient mortes car siegone m'avait tres bien répondu sur ce meme sujet ya un an, tu fait ca avec preg_replace()...
 
Genre le code c'est un truc du genre :
$new=preg_replace("[\[img\](&*?)\[/img\]]", "<img src=\"\\1\" title=\"\\1\" alt=\"\\1\">", $old, $fois);
 
Avec :
- $new ta chaine avec les element entre [imgxx[/img] remplacé par <img scr="xx" title="xx" alt="xx">
- $old ta chaine d'origine avec les [img] et tout
- $fois le nombre maximum de fois que le remplacement dans se faire. Si tu vire ce parametre ca le fait pour tous
 
Et la chaine en rouge et un truc a la con que j'ai mis pour meubler, je me souviens plus de ce que c'etait, je te retrouve ca pour demain si personne n'a vu le topic et donné l'info :D
Et gros ca sert a dire "tout le bordel qui se trouve entre [img] et [/img] je le fout dans une variable temporaire", variable temporaire que l'on restitue dans le changement par \\1 (là encore si ma mémoire ne flanchie pas :/)
 
 
 
Bon, en esperant que je ne soit pas a coté de la plaque :D

Plus d'informations

Bonjour,  
 
j'aimerais savoir ou il faut placer cette ligne :  $corps_news=ereg_replace(chr(13),'<br>',$corps_news);
et a quoi correspond $corps_news ?  
 
Désolé si ma question te parait bête, mais je suis débutante.  
 
Merci d'avance.

Plus d'informations

Encore un topic de déterré de sous les fagots ^__^
 
Cette ligne est à placer lors de l'affichage de ta variable (ici $corps_news), essentiellement afin que ton texte retrouve ces retours à la ligne.
 
Pour $corps_news, c'est juste ta varible qui contient ton texte à formatter. Ca peut être une variable venant d'un formulaire comme un texte récupéré dans une base de données.

pourquoi faire cent fois la même chose ?
Plus d'informations

cette methode ne teste pas beaucoup de cas et peut servir pour faire du html pas valide
 
exemple :

[img]http://machinbidule[b]salut [u]toi[/u] ca va ?[/img]moi ça va et twa ?[/b]


Message édité par Batchy le 15-08-2006 à 21:58:10

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » [PHP] conserver mise en forme d'un textarea -c'est bon merci
 

Annonces Google
Publicité