这可能可以用正则表达式来完成,但我不知道。我试图完成的是能够使用给定的分隔符解析字符串,但是当它看到一组括号时,它的解析方式会有所不同。因为我是一个视觉学习,让我向你展示我试图实现的一个例子。 (PS这是越来越从URL解析)PHP复杂的字符串解析
给出字符串输入:
String1,String2(data1,data2,data3),String3,String4
我如何 “改造” 这个字符串变成数组:
{
"String1": "String1",
"String2": [
"data1",
"data2",
"data3"
],
"String3": "String3",
"String4": "String4
}
格式没有这是严格的,因为我只是试图为我的项目制作一个简单的API。
显然之类的东西
array explode (string $delimiter , string $string [, int $limit = PHP_INT_MAX ])
是行不通的,因为有括号内逗号为好。我试图一次一个一个地看每个角色的手动解析,但是我担心这个性能,而且它实际上并不工作。我粘贴了我的尝试的要点。
https://gist.github.com/Fudge0952/24cb4e6a4ec288a4c492
您可以发布您的输入和期望的输出,所以我们可以更好地理解你想要达到什么目的? –
我从给定的输入发布了期望的输出 – Tim
你可以使用不同的分隔符用于不同级别的字符串儿童吗?例如String1,String2(data1 | data2 | data3),String3,String4 –