strip_tags截断JSON

时间:2013-04-16 20:10:42

标签: php json string strip-tags truncated

我有这样的JSON响应:

 {
  "id":"2461",
  "name":"GEORGIA INSTITUTE OF <leo_highlight style=border-bottom: 2px solid rgb(255, 255, 150); background-c",
  "logo":"",
  "address":null,
  "city":null,
  "state":null,
  "campus_uri":"{{PATH}}2461\/"
 },
 ....
 ....

当我对此进行strip_tgs时,整个JSON字符串会在上面的name标记处被截断。 JSON字符串看起来像这样。

{"id":"2461","name":"GEORGIA INSTITUTE OF 

这条线以下的一切都消失了。这是一个巨大的JSON。但它在这里被截断了。 关于该怎么做的任何想法?我需要删除所有HTML标记。

更新 添加更多细节......

我得到的这个JSON字符串来自对查询结果数组的编码。所以我从MySQL查询得到了数组,并用json_encode对其进行了编码,并在其上尝试strip_tags

2 个答案:

答案 0 :(得分:1)

$array = json_decode($json, true);
array_walk_recursive($array, function (&$val) { $val = strip_tags($val); });
$json = json_encode($json);

简单......解码它,遍历并编码。

答案 1 :(得分:0)

解码JSON对象后删除标记。您可以以懒惰的方式(即需要时)执行此操作,而不是遍历所有字段上的条带标记。