2015-02-06 4 views
4

Я отправляю JSON-кодированный ответ на запрос от iPhone. В немногих значениях присутствуют некоторые HTML-сущности. Я попытался использовать stripslashes() и html_entity_decode() на таких значениях. В браузере я могу получить правильный ответ JSON, т. Е. Без этих HTML-сущностей, но когда тот же ответ отображается на iPhone или iPhone-симуляторе, объекты HTML отображаются снова.Почему объекты HTML отображаются на симуляторе iPhone/iPhone даже после удаления их с помощью PHP?

Как решить эту проблему? Кто-то может помочь?

Если вы хотите, я могу предоставить вам необходимый код.

Спасибо.

+3

Мы, безусловно, нужен [MCVE] (https://stackoverflow.com/help/mcve) для отладки, но это звучит, как это могло бы быть кэширование вопрос. –

+1

Просто убедитесь, что вы установили тип документа заголовка в 'header ('Content-Type: application/json');' if not. Но хорошо, если вы можете предоставить код. –

+1

Покажите нам, что отправляется на телефон. Также ссылка на скриншот телефона или что-то поможет –

ответ

1

выписка https://github.com/mwaterfall/MWFeedParser/blob/master/Classes/NSString+HTML.m из Преобразования & в & в Objective-C

NSString категории под названием "GTMNSString + HTML", написанный Google тоже работает. Посмотрите здесь: gist.github.com/takuma104/ntlniph/blob/master/gtm/Foundation/GTMNSString+HTML.h & здесь: gist.github.com/takuma104/ntlniph/blob/master/gtm/Foundation/GTMNSString + HTML.m

2

в PHP

<?php 
header('Content-Type: application/json'); 
echo json_encode(array('test' => html_entity_decode("Hello &#8211; World", ENT_COMPAT, 'UTF-8'))); 

Output:

{"test":"Hello \u2013 World"} 

в JS:

var o = jQuery.parseJSON('{"test":"Hello \u2013 World"}'); 
alert(o.test); 

Output:

Hello – World 

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

  • Нет связанных вопросов^_^