[PHP] textarea

textarea [PHP] - PHP - Programmation

Marsh Posté le 25-03-2004 à 14:09:41    

Bonjour, voilà mon problème. J'aimerai avoir un champs de formulaire où l'utilisateur entre un texte (champs de formulaire: textarea) et je voudrais qu'il puisse le mettre en forme (texte en gras, italique, ...). C'est possible? Après le texte sera envoyé dans une base de données, dans un champ texte. Lorsque je rappelle ce champ, il faudra que le texte soit mis en forme... (en fait ce que je veux c'est la même chose que lorsqu'on poste un message sur ce forum...) On peut le faire en php? je pense pas, il faudra plûtot utiliser le javascript ou bien?
Merci d'avance

Reply

Marsh Posté le 25-03-2004 à 14:09:41   

Reply

Marsh Posté le 25-03-2004 à 14:17:44    

Je vois deux solutions: laisser à l'utilisateur la liberté d'utiliser les balises html, ou alors lui proposer des balises "maisons" (comme sur ce forum par exemple...)

Reply

Marsh Posté le 25-03-2004 à 14:20:24    

balises "maisons"? Qu'est-ce que cela?

Reply

Marsh Posté le 25-03-2004 à 14:21:26    

Par exemple une balise [ b ] [ /b] pour mettre en gras. Le même genre de chose qu'ici en fait.


Message édité par gooopil le 25-03-2004 à 14:21:55
Reply

Marsh Posté le 25-03-2004 à 14:22:48    

Oui, c'est tout a fait ça que je veux, mais je m'y connait très peu et je ne vois pas du tout comment le faire

Reply

Marsh Posté le 25-03-2004 à 14:25:21    

J'ai pas un niveau très avancé non plus, et pourtant je suis en train de faire un truc dans le genre pour un prjet sur lequel je bosse, donc c'est tout a fait faisable :sarcastic:  
1 - L'utilisateur peut entrer ces balises directement ou avec un bouton avec du js derrière
2 - Quand tu veux afficher, tu remplaces tes tags maison par les tags html.


Message édité par gooopil le 25-03-2004 à 14:26:01
Reply

Marsh Posté le 25-03-2004 à 14:29:01    

ok, donc je suis obligée de passer par du java script en fait. Je m'y connait pas du tout dans ce language... Mais bon, je vais mais m'y mettre et essayer de faire quelque chose... Si tu as quelques astuces pour m'aider, je suis prenante...

Reply

Marsh Posté le 25-03-2004 à 14:36:13    

T'es pas vraiment obligé de passer par du js. Ca rend juste les choses plus pratiques pour l'utilisateur qui n'a pas besoin de connaitre toutes les balises. Mais c'est sur que c'est mieux avec.  
Par contre, pour des fonctionalités de bases, y'a pas besoin d'être une lumière en js. T'appelles une fonction quand tu clic sur un bouton, cette fonction va ajouter la balise correspondante dans ton textarea et c'est à peu près tout :)

Reply

Marsh Posté le 25-03-2004 à 14:44:59    

dis encore une petite question. Je viens de faire un test avec un champ, et c'est moi qui entre la balise. Je fais comment après sur ma nouvelle page pourparcourir la chaîne et dire qu'à l'endroit où il y a ma balise je la remplace par un balise html???

Reply

Marsh Posté le 25-03-2004 à 14:49:56    

ça joue, c'est bon j'ai trouvé merci de votre aide!

Reply

Marsh Posté le 25-03-2004 à 14:49:56   

Reply

Marsh Posté le 25-03-2004 à 20:00:54    

J'ai fait un semblant de BBCode sur mon site et il y a une solution qui marche bien ( et en plus, ça n'a pas l'air trop lent) :
 
Il faut utiliser la fonction php : str_replace(chaine_a_remplacer, chaine_de_remplcement,texte);
 
en fait au moment où tu écrit le texte dans la base MySql, tu le modifie d'abord en enchînant les conversions :
$texte=str_replace("[G]", '<B>',$texte);
   $texte=str_replace("[/G]", '</B>',$texte);
   $texte=str_replace("[I]", '<I>',$texte);
   $texte=str_replace("[/I]", '</I>',$texte);
   $texte=str_replace("[C=red]", '<SPAN Style="color:red">',$texte);
   $texte=str_replace("[/C]", '</SPAN>',$texte);
et après tu insère $texte dans la base

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed