【发布时间】:2013-04-16 20:10:42
【问题描述】:
我有一个这样的 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。
【问题讨论】:
-
问题是名称有
<没有匹配的>。所以看起来标签永远不会结束。 -
是的,我看到了这个问题。但它不应该在该行之后剥离整个字符串?
-
好吧,如果你控制了 JSON 的创建,为什么不在序列化之前去掉标签呢?
-
为什么不应该呢?允许标签跨越多行。
strip_tags不知道这是 JSON,此函数旨在用于 HTML 数据。 -
@Barmar。我同意这一点。这里的字符串不同。如果没有结束标记,那么我想它不应该将其视为 HTML 标记或不剥离它。
标签: php json string strip-tags truncated