我的数据库返回以下带有特殊字符的 JSON。我需要将其转换回原始字符:
{ "event_id":"5153",
"name":"Event Test",
"description":"Persönlichkeit Universität"",
"start_time":"2013-04-24 9:00 AM EST",
"end_time":"2013-04-24 5:00 PM EST"
}
我想去掉所有的 HTML 字符。并将所有喜欢的字符转换ö
为原始字符。所以description
上面的 JSON 实际上应该是这样的
Persönlichkeit Universität"
我array_walk
在将数组编码为 JSON 之前对数组进行处理,并对strip_tags
每个元素进行处理。这可以。(这导致了上面的 JSON。)。
为了找回字符,我尝试了:
1. encoding again with utf8_encode
2. htmlspecialchars_decode
3. html_entity_decode //This one is eliminating the character altogether.
但是没有任何东西可以恢复原始字符。
有任何想法吗?
更新:
我试过这个。但现在描述字段返回为空
array_walk_recursive($results, function (&$val) {
$val = strip_tags(html_entity_decode($val));
});
$results = json_encode( $results);