[PHP] Interpréter les balises html dans une textarea

Interpréter les balises html dans une textarea [PHP] - PHP - Programmation

Marsh Posté le 20-02-2009 à 11:39:21    

Bonjour,
 
Me voilà confronté à un nouveau problème.  
 
Mon utilisateur qui rédige les articles pour mon site internet met en forme sons texte avec des balises html exemple : <align=center>blabla</align>.
 
Son texte est enregistré dans ma Bdd comme ceci : <align=center>blabla</align>.
 
j'aimerais que dans mon textarea s'affiche "blabla" de façon centré.
 
Après de multiple recherche j'en suis a utilisé la fonction : html_entity_decode()
 
Voici mon code :  
 

Code :
  1. $htmlarticle =  html_entity_decode($type_anec['contenu_art'], ENT_QUOTES);
  2.  
  3.     echo "<align = left ><pre>".$htmlarticle."<pre></align><br /><br />";


 
Est-ce que j'utilise la bonne fonction?
Si non la quelle doit-je utiliser?
Si oui ou se situe mon erreur, ou mon oublie?
 
Merci d'avance de vos réponse.
 
Benjamin


---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Marsh Posté le 20-02-2009 à 11:39:21   

Reply

Marsh Posté le 20-02-2009 à 13:12:42    

injall2 a écrit :

Bonjour,
Mon utilisateur qui rédige les articles pour mon site internet met en forme sons texte avec des balises html exemple : <align=center>blabla</align>.
Son texte est enregistré dans ma Bdd comme ceci : <align=center>blabla</align>.
j'aimerais que dans mon textarea s'affiche "blabla" de façon centré.


 :??:  
Tu veux dire, au juste ?
Le textarea dont tu parles, c'est celui dans lequel il écrit le texte, ou c'est un textarea "de présentation" ?
C'est peut-être moi, mais je ne comprend pas torp où tu veux en venir...  :o  
 

Citation :

Après de multiple recherche j'en suis a utilisé la fonction : html_entity_decode()
Voici mon code :  

Code :
  1. $htmlarticle =  html_entity_decode($type_anec['contenu_art'], ENT_QUOTES);
  2.     echo "<align = left ><pre>".$htmlarticle."<pre></align><br /><br />";


Est-ce que j'utilise la bonne fonction?
Si non la quelle doit-je utiliser?


Ca dépend de ce que tu veux faire...
Tu as lu la description de html_entity_decode() ?
Si oui, tu devrais être capable de décider si ça correspond à tes besoins...

Citation :

Si oui ou se situe mon erreur, ou mon oublie?

Quelle erreur ?
C'est un petit détail que tu as oublié : décrire le problème !
Ta fonction plante, ne renvoie pas ce que tu voudrais, autre chose ?...

Reply

Marsh Posté le 20-02-2009 à 13:50:31    

enfaite je viens de me rendre compte que j'avais même pas saisie une chose bref...
 
Donc Le rédacteur écris dans une textearea sa enfaite on s'en fou désolé je m'en étais même pas rendu compte.
 
Donc ici on a $type_anec['contenu_art'] qui contient mon texte avec des balises html et j'aimerais que quand je l'affiche dans ma page cela affiche mon article avec les mise en formes html interprété exemple:
 
le rédacteur écris :
 
$type_anec['contenu_art'] = <align=center>titre</align>
                                       <align=left>contenu de mon article</align>
 
l'internaute vois :
 
                                            titre
contenu de mon article
 
 
 
oui j'ai la description complète de html_entity_decode()  mais je ne saisis pas tout je pense.
 
ma fonction renvoi pas :
 
                                           titre
contenu de mon article
 
 
 
mais :
 
titre
contenu de mon article

Message cité 1 fois
Message édité par injall2 le 20-02-2009 à 13:52:53

---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Marsh Posté le 20-02-2009 à 13:55:40    

injall2 a écrit :

enfaite je viens de me rendre compte que j'avais même pas saisie une chose bref...
 
Donc Le rédacteur écris dans une textearea sa enfaite on s'en fou désolé je m'en étais même pas rendu compte.
 
Donc ici on a $type_anec['contenu_art'] qui contient mon texte avec des balises html et j'aimerais que quand je l'affiche dans ma page cela affiche mon article avec les mise en formes html interprété exemple:
 
le rédacteur écris :
 
$type_anec['contenu_art'] = <align=center>titre</align>
                                       <align=left>contenu de mon article</align>
 
l'internaute vois :
 
                                            titre
contenu de mon article


 :heink:

Code :
  1. echo $type_anec['contenu_art'];


En fait, tu risques plus d'avoir des problèmes à la saisie : la plupart des serveurs web sont configurés pour échapper le code html entré dans la BDD....

Reply

Marsh Posté le 20-02-2009 à 14:20:34    

non enfaite je n'ai pas ce problème la mes balise s'affiche parfaitement dans ma textarea j'aimerai juste qu'il les interprète quand je veux juste l'afficher.
 
Enfaite pour mes donner j'ai un tableau dans le quelle se charge toutes mes enregistrements inscrits dans ma base de données, j'ai trois bouton : supprimé/ajouter/modifier quand je clique sur modifier cela m'ouvre un autre page dans le quelle sont ranger mes différente donnés de l'enregistrement que je veux modifier et c'est ici que je me rend compte que mes différentes balises html sont effectivement bien enregistré car il me les restitues tel quel.


Message édité par injall2 le 20-02-2009 à 14:37:02

---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Marsh Posté le 21-02-2009 à 10:11:17    

En grow tu veux afficher du rendu HTML (pas le code) dans un textarea ?
 
Laisse tomber cette idée, c'est pas possible, tu vas devoir bidouiller en JS toi meme, mais vu ta question, ca me semble pas possible (sans etre mechant) donc, soit :
 
- regarde plutot du coté de l'intégration d'une solution genre "fckeditor".. ya surement mieu maintenant, mais j'ai pas touché à ca depuis un bout..
 
- garde ta textarea de saisie de code, et ajoute un bouton "preview" en dessous, qui se chargera d'intepreter le code html saisie dans la textarea..
 
voila

Reply

Marsh Posté le 21-02-2009 à 11:56:40    

Moi j'utilise tinyMCE pour ça. Y'en a d'autres genre FCKEditor et tout.

Reply

Marsh Posté le 21-02-2009 à 12:09:00    

l'éditeur de texte je l'ai fait en javascript quelle avantage m'apporterais tinyMCE par rapport à mon éditeur pour l'affichage de mes données?


Message édité par injall2 le 21-02-2009 à 12:09:19

---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Marsh Posté le 21-02-2009 à 12:14:48    

Ca sert justement à éditer de l'HTML en live (et interpréter correctement les balises dans un textarea).
 
Et s'il est possible de le faire soi-même, à tous les coups tu va te retrouver avec une montagne de bug suivant le navigateur. Aussi ça te sors de l'HTML correct, et non pas des vieilles balises à ne plus utiliser comme <align>

Reply

Marsh Posté le 21-02-2009 à 12:15:14    

l'affichage des données justement ? :o

Reply

Marsh Posté le 21-02-2009 à 12:15:14   

Reply

Marsh Posté le 21-02-2009 à 12:31:31    

le seule PB c'est : comment éviter que la sortie soit du HTML (et faire en sorte que çà soit du bbcode par ex.) ?

Reply

Marsh Posté le 21-02-2009 à 12:32:00    

ok je vais étudier sa donc, car pour l'enregistrement dans la bdd de mon contenu cela pourrais être plus compliqué. Merci de votre aide


---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Marsh Posté le 21-02-2009 à 12:39:36    

Pour l'enregistrement ça ne change rien. Tu reçevra côté serveur le contenu de la textarea comme si de rien n'était :)

Reply

Marsh Posté le 21-02-2009 à 13:48:06    

ok et bien merci beaucoup j'ai appris l'existence de quelques choses ^^ moi qui était fière d'avoir réussis à développer un éditeur de texte en javascript j'aurais peut-être du chercher la facilité ^^.


---------------
quoi qu'il arrive va falloir que je m'excuse --- "ne faite pas d'affirmation inverse à la vérité"
Reply

Sujets relatifs:

Leave a Replay

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