문자열을 가져 와서 드롭 다운 목록을 만드는 함수를 작성하려고합니다.PHP : 복잡한 문자열 분할
Primary[Blue|0000FF,Red|FF0000,Yellow|FFFF00],Secondary[Green|00FF00,Orange|FF9900,Purple|663399],Brown|A52A2A,Silver|C0C0C0
나는이 차례 원하는 : 여기
는 예를 들어 문자열입니다[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
:이 같은 뭔가 문자열을 변환하는 데 노력했습니다
<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>
초기 문자열을 분할하는 방법을 모르겠습니다. 나는 폭발하고 preg_split 시도했지만, 둘 다 내가 그것을 필요로 분할하지 않는 것. 난 당신이 사용할 수있는 현재 형식의 json_decode
및 json_encode
을 고려 조언을거야 당신이 문자열로 결국 어떻게
당신의 문자열의 패턴이 일치하지 않습니다. – Ibu
아마 json 구문을 사용하고 있을까요? –
'explode ('),', $ string)''[0] => "Primary [Blue | 0000FF, Red | FF0000, Yellow | FFFF00", [1] => "Secondary [Green | 00FF00, Orange | FF9900, Purple | 663399 ", [2] =>"Brown | A52A2A, Silver | C0C0C0 ""거기에서, "["에있는 각각의 것들을 폭발시킬 수 있었고 그 결과는 " , " – jonhopkins