【发布时间】:2015-02-06 16:32:41
【问题描述】:
我需要使用 preg_split 通过使用 "};{" 作为分隔符来拆分下面的字符串。但我想在返回的数组中保留/返回 } 和 {。
Regex 可以做很多事情,但想知道使用 preg_split 是否可以做到这一点。
{'aid':10,'aSL'{'ac':true,'g_ac':true,'stats':0,'ldb':0,'g_':0},'hs':'4.8','l_p':1229241600},{'aid':80,'aSL':{'ac':0,'g_ac':0,'stats':0,'ldb':0,'g_':0}},{'aid':100,'aSL':{'ac':0,'g_ac':0,'stats':0,'ldb':0,'g_':0}},{'aid':30,'aSL':{'ac':true,'g_ac':true,'stats':0,'ldb':0,'g_':0}},{'aid':40,'aSL':{'ac':0,'g_ac':0,'stats':0,'ldb':0,'g_':0}},{'aid':60,'aSL':{'ac':true,'g_ac':true,'stats':0,'ldb':0,'g_':0}}
我希望它像这样返回
[0] => {'aid':10,'aSL':{'ac':true,'g_ac':true,'stats':0,'ldb':0,'g_':0},'hs':'4.8','l_p':1229241600}
[1] => {'aid':80,'aSL':{'ac':0,'g_ac':0,'stats':0,'ldb':0,'g_':0}
[2] => {'aid':100,'aSL':{'ac':0,'g_ac':0,'stats':0,'ldb':0,'g_':0}
[3] => {'aid':30,'aSL':{'ac':true,'g_ac':true,'stats':0,'ldb':0,'g_':0}
[4] => {'aid':40,'aSL':{'ac':0,'g_ac':0,'stats':0,'ldb':0,'g_':0}
[5] => {'aid':60,'aSL':{'ac':true,'g_ac':true,'stats':0,'ldb':0,'g_':0}
【问题讨论】:
-
这基本上是一个 json 字符串。为什么不将其视为 json 并解码为本机结构。提取您想要的任何位并从中重新编码为 json 会容易得多。
-
是的,这就是我最终使用 json_decode 的方式,但仍然很好奇在使用 preg_split 或类似方法时如何保留部分分隔符。