为什么HTML实体在使用PHP删除后仍显示在iPhone/iPhone模拟器上



我正在向来自iPhone的请求发送一个JSON编码的响应。在一些值中,存在一些HTML实体。我尝试在这些值上使用stripslashes()html_entity_decode()。在浏览器中,我能够获得正确的JSON响应,即没有这些HTML实体,但当在iPhone或iPhone模拟器上看到相同的响应时,HTML实体会再次显示。

我应该如何解决此问题?有人能帮忙吗?

如果你希望,我可以为你提供必要的代码。

谢谢。

使用http://php.net/manual/en/function.strip-tags.php?

此函数试图返回一个包含所有NULL字节、HTML和从给定的str 中剥离PHP标签

PHP

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

输出:

{"test":"Hello u2013 World"}

JS:中

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

输出:

Hello – World

签出https://github.com/mwaterfall/MWFeedParser/blob/master/Classes/NSString+来自转换的HTML.m;到&在Objective-C 中

谷歌编写的一个名为"GTMNSString+HTML"的NSString类别也可以使用。点击这里查看:gist.github.com/takuma104/ntlnif/blob/master/gtm/Foundation/GTMNSString+HTML.h&此处:gist.github.com/takuma104/ntlnif/blob/master/gtm/Foundation/GTMNSString+HTML.m

最新更新