我正在尝试编写一个函数,它将接受一个字符串并创建一个下拉列表。PHP:拆分复杂的字符串
下面是一个例子字符串:
Primary[Blue|0000FF,Red|FF0000,Yellow|FFFF00],Secondary[Green|00FF00,Orange|FF9900,Purple|663399],Brown|A52A2A,Silver|C0C0C0
,我想变成这样:
<select>
<optgroup label="Primary">
<option value="0000FF">Blue</option>
<option value="FF0000">Red</option>
<option value="FFFF00">Yellow</option>
</optgroup>
<optgroup label="Secondary">
<option value="00FF00">Green</option>
<option value="FF9900">Orange</option>
<option value="663399">Purple</option>
</optgroup>
<option value="A52A2A">Brown</option>
<option value="C0C0C0">Silver</option>
</select>
我一直在试图将字符串转换为这样的事情:
[0] => Primary
[0][0] => Blue|0000FF
[0][1] => Red|FF0000
[0][2] => Yellow|FFFF00
[1] => Secondary
[1][0] => Green|00FF00
[1][1] => Orange|FF9900
[1][2] => Purple|663399
[2]
[2][0] => Brown|A52A2A
[3]
[3][0] => Silver|C0C0C0
我不知道如何分割初始字符串。我尝试过爆炸和preg_split,但似乎没有分开我需要它的地方。
您的字符串的模式是不相符的。 – Ibu
也许只是使用json语法? –
'explode('],',$ string)'将得到一个包含'[0] =>“Primary [蓝色| 0000FF,红色| FF0000,黄色| FFFF00”,[1] =>“Secondary [Green | 00FF00,Orange | FF9900,Purple | 663399“,[2] =>”Brown | A52A2A,Silver | C0C0C0“从这里,你可以爆炸每个关于”[“的结果,而结果可以在” ” – jonhopkins