由任何块内的最后一个匹配字符爆炸

时间:2014-03-30 14:51:39

标签: php explode

众所周知,爆炸适用于任何符合结果的角色。

我想为与内部块匹配的最后一个元素产生相同的效果。

例如

$explodeMe = ' [ [ [ 1, 2, 3, 4 ] ] ] , [ [ [ 5 , 6, 7, 8 ] ] ]';

$explodeMe = explode( ']' , $explodeMe);

//这将爆炸$ explodeMe 6次(每个]角色)

我想为每个块(在该示例中为2次)[[[]]] [[[]]]

分解它

所以:

如果块被1 [ (.*) ]打开,它将使用第一个

将其爆炸

如果块被2 [[ (.*) ]]打开,它将使用第二个

将其爆炸

如果块被3 [[[ (.*) ]]]打开,它将使用第三个

将其爆炸

也许是一个计算[[[字符并按此值查找最后一个

]的函数
]]]
  ^

这是没有函数的语法:

$explodeMe = explode( myFuntionToLookForTheLastElementForEachBlock(']') , $explodeMe);

任何想法?

1 个答案:

答案 0 :(得分:0)

听起来我想要解析结构化数据的这种刺痛并从中构建一个多级数组。您已经向我们提供了一些您想要的数据示例" explode",在这种情况下,它类似于JSON。

如果您确定这是您将要处理的所有数据的外观,那么读取此数据的最简单方法是json_decode('['.$explodeMe.']', true)并进一步处理生成的数据那里。