2010-07-25 4 views
5

EDIT: Я решил это через несколько секунд после размещения вопроса (извините!), Но пока не могу принять ответ.html_entity_decode() не работает должным образом?

Привет народ,

Просто быстро один. У меня есть сайт PHP/CodeIgniter, и пользователь может редактировать свой профиль. Я использую CI XSS Filtering и Active Record-based Models, поэтому данные автоматически экранируются.

Это естественно отображает штраф на профильной странице, текст, такие как «Мы увидим, если это работает» (апостроф в мы будем). Однако, когда пользователь переходит на страницу редактирования, в поле ввода (заполняется данными в БД) отображает:

We'll see if this works 

Я думал, что я мог бы обойти его, установив значение поля ввода в html_entity_decode($query->row('example_database_row')), но это все еще не работает. Я что-то не понимаю?

Спасибо!

Джек

ответ

15

Вы можете использовать html_entity_decode($query->row('example_database_row'), ENT_QUOTES).

Однако я бы посоветовал против кодирования HTML, прежде чем вставлять его в базу данных. Просто кодируйте его, когда вы выводите его. Лучше просто хранить необработанные данные в базе данных.

+2

Ваш ответ не работал для меня. Я использовал html_entity_decode (get_the_title(), ENT_COMPAT, 'UTF-8'); –

+0

О, черт побери, это было легко. Просто изменил его на 'html_entity_decode ($ query-> row ('example_database_row'), ENT_QUOTES)', и он отлично работает. Спасибо всем, кто это прочитал! – Jack

Смежные вопросы