Categories > TinyButStrong general (FR) >

[fr] htmlconv?

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Philty
Date: 2004-09-10
Time: 15:54

[fr] htmlconv?

Bonjour Skrol29
J'utilise un formulaire pour poster des news tel que celui-ci (simplifié au max):
[...]
  <textarea name="x_news" cols="70" rows="10" wrap="hard">[var.x_news;noerr]</textarea>
  <br><br>
  <input type="submit" value="Valider" />
  <input type="hidden" name="x_send" value="add_news" />
[...]
Je fais un contrôle du formulaire, j'envoie tout ça sur ma bdd en convertissant avec htmlentities()... tout marche impec. Ensuite pour afficher les news j'utilise:
<liste_news>
[...]<td>[ListNews.news;htmlconv=look;block=liste_news]</td>[...]
</liste_news>
Le problème:
quand je poste une news avec des retours à la ligne sans caractères éligibles tout fonctionne correctement lors de l'affichage mais lorsqu'il y en a un tout les retours à la ligne sont supprimés. Pourquoi? Quelle est la parade?

ex1:
ligne 1
ligne 2
ligne 3
s'affiche correctement

ex2:
1ère ligne
2ème ligne
3ème ligne
affiche 1ère ligne 2ème ligne 3ème ligne

Merci d'avance
By: Skrol29
Date: 2004-09-10
Time: 16:46

Re: [fr] htmlconv?

Bonjour Phily,

Ce qui t'arrive est normal.
La fonction htmlentities() de PHP ne convertie pas les sauts de lignes.
Tu dois utiliser en plus nl2br().

Mais je te conseillerais plutôt de ne pas convertir des données en Html avant de les stoquer dans la base. Il vaut mieux pour plusieurs raisons enregsiter les données brutes.
De plus, le paramètre "htmlconv=look" est pratique mais il n'est pas très bon pour l'optimisation des traitements. En effet, il regarde pour chaque enregistrement s'il contient du Html ou pas, alors que à priori tu sais ce qu'il contient.
By: Philty
Date: 2004-09-10
Time: 17:12

Re: [fr] htmlconv?

J'avais rajouté htmlentities() car s'il y a des guillemets simples ou double dans le post j'ai une erreur MySql. Mais j'ai entre temps trouvé ceci qui a l'air de marcher: htmlspecialchars(string, ENT_QUOTES)
Merci et @+
By: Skrol29
Date: 2004-09-10
Time: 17:27

Re: [fr] htmlconv?

C'est mysql_escape_string() qu'il faut utiliser pour ca.
Car il y d'autres caractères qui pourrons te poser problème.