2015-04-28 4 views
0

У меня есть скрипт php, который возвращает JSON и функцию js, которые анализируют этот JSON. В моем php я сделал htmlspecialchars, но когда я показываю значение на своей веб-странице, ' не заменяет на 'same for " любую идею?Моя страница: ', а не '

+0

Как вы положили результат JSON на страницу? – Barmar

+0

Почему вы вызываете 'htmlspecialchars()' в первую очередь? Обычная причина этого заключается в том, что вы видите буквальный HTML, вместо того, чтобы анализировать его. – Barmar

+0

Если я не использую, у меня есть объект, а не значение в моем JSON, я не знаю, почему, но htmlspecialchars решают проблему, тогда я использую его. –

ответ

2

Если вы видите ' на странице, вы, вероятно, дважды закодировали свою строку где-то вдоль линий.

Кодирование строки в первый раз изменяется ' до '.

Кодирование строки во второй раз ' до '.

Результат состоит в том, что вы видите код, а не символ - поскольку веб-страница визуально преобразует & в & и игнорирует остальные.

+1

Спасибо, что подтвердите мою ошибку –

0

Когда вы используете htmlspecialchars " "'"(апостроф) становится ''' (или ')"

Читать PHP Manual.

+2

Но если он добавит это в свой HTML, он должен быть отображен правильно. Проблема в том, как он добавляет его в HTML, который он не показал. – Barmar

0

Использование html_entity_decode() с ENT_QUOTES

$string = "test '"; 
echo html_entity_decode($string, ENT_QUOTES); 

Выход:

test ' 

DEMO http://ideone.com/pZdJOa


Дополнительная информация о html_entity_decode

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