2010-07-25 10 views
5

EDIT: Je l'ai résolu quelques secondes après avoir posté la question (désolé!) Mais je ne peux pas encore accepter une réponse.html_entity_decode() ne fonctionne pas correctement?

Salut les gens,

Juste un rapide. J'ai un site PHP/CodeIgniter et l'utilisateur peut modifier son profil. J'utilise le filtrage XSS de CI et les modèles basés sur les enregistrements actifs, de sorte que les données sont automatiquement échappées.

Il affiche naturellement bien sur la vue page de profil, texte tel que « Nous allons voir si cela fonctionne » (l'apostrophe dans le nous allons). Toutefois, lorsque l'utilisateur accède à la page d'édition, la zone de saisie (remplie avec les données dans le DB) affiche:

We'll see if this works 

Je pensais que je pouvais contourner en définissant la valeur de la zone de saisie à html_entity_decode($query->row('example_database_row')) mais ne fonctionne toujours pas. Suis-je mal compris quelque chose ici?

Merci!

Jack

Répondre

15

Vous pouvez utiliser html_entity_decode($query->row('example_database_row'), ENT_QUOTES).

Cependant, je déconseille le codage HTML avant de l'insérer dans la base de données. Il suffit de l'encoder lorsque vous le produisez. Il vaut mieux simplement stocker les données brutes dans la base de données.

+2

Votre réponse n'a pas fonctionné pour moi. J'ai utilisé html_entity_decode (get_the_title(), ENT_COMPAT, 'UTF-8'); –

+0

Oh putain, c'était facile. Il suffit de le changer pour 'html_entity_decode ($ query-> row ('example_database_row'), ENT_QUOTES)' et ça marche très bien. Merci à tous ceux qui ont lu ça! – Jack

Questions connexes