Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu] jForms, données dynamiques et htmlspecialchars

Posted by ZDamienZ on 01/10/2010 19:22

Bonjour,

Tout d'abord un grand merci aux développeurs de ce framework et qui ont décidé d'en faire profiter la communauté.

J'utilise depuis peu Jelix 1.1 et j'ai une question concernant les données dynamiques générées avec une classe dans jForms.

Dans un formulaire j'appelle une classe via:

 <datasource class="galerie~listeparents" />

Cette classe me renvoie un texte contenant des caractère html, plus particulièrement plusieurs espaces: &nbsp; Ces données ont l'air d'être passées au travers de la fonction htmlspecialchars() ce qui me donne à l'affichage de mon formulaire &amp;nbsp;

Comment faire pour que mes caractère html ne soit pas convertis.

Merci d'avance.

  [Opened] Re: jForms, données dynamiques et htmlspecialchars

Reply #1 Posted by yan_vn on 01/11/2010 13:37

Bonjour,

Je n'ai pas ce problème et je n'ai rien fait de spécial pour l'éviter. Peux-tu donner sur le forum le contenu de la ta classe "listeparents" ?

Yannick.


Yannick DEVOS - http://www.nature-mekong.com/

  [Opened] Re: jForms, données dynamiques et htmlspecialchars

Reply #2 Posted by laurentj on 01/11/2010 15:23

bonjour,

damien, ta classe n'est pas censé renvoyé du HTML, mais du texte normal. Ce qui est tout à fait normal. La transformation des données se fait dans la vue, pas dans la classe métier. Et si un jour ces données, tu veux les utiliser pour autre chose que du html ? (genre service web, ajax etc..).

Si tu ne veux pas/peux pas stocker tes données sans avoir des entités html dedans, à toi, dans ta classe de faire l'inverse de htmlspecialchars (htmlspecialchars_decode je crois)

  [Opened] Re: jForms, données dynamiques et htmlspecialchars

Reply #3 Posted by laurentj on 01/12/2010 14:36

Pour ce genre de chose, vaut mieux en effet utiliser les caractères unicode/utf-8 (à priori, si tu n'es pas bloqué aux années 90, ton appli et tes données sont en utf-8 ;-)).

donc soit tu tapes le caractère 0xA0, soit tu utilises la fonction chr (mais dans ce cas il faut que tu utilises utf8_encode

  $niveau = utf8_encode(str_repeat(chr (160),$record->niveau*5)).'|_';

Idem pour ton '|_', il y a des caractères pour ça ;-) Ça fera un peu plus beau.

  [Opened] Re: jForms, données dynamiques et htmlspecialchars

Reply #4 Posted by ZDamienZ on 01/12/2010 18:52

Impeccable.

Pour l'instant je vais laisser ça dans ma classe même si ce n'est peut-être pas sa place.

De toute façon j'ai vu qu'une galerie photos serait bien venue dans les contributions, lorsque j'aurais quelque chose de plus fini je ferai partager. A ce moment là il y aura certainement quelques âmes charitables pour me donner des axes d'amélioration sur ce module.

En attendant merci à vous deux.

 
Page
  1. [Résolu] jForms, données dynamiques et htmlspecialchars