我正在嘗試編寫一個函數,它將接受一個字符串並創建一個下拉列表。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