<?php
$string = 'Primary[Blue|0000FF,Red|FF0000,Yellow|FFFF00],Secondary[Green|00FF00,Orange|FF9900,Purple|663399],Brown|A52A2A,Silver|C0C0C0';
foreach($array as $val){
if(preg_match('/(.*)\[(.*)\]/', $val, $match) === 1){ $return[$match[1]] = explode(',', $match[2]); }
else{
$return[] = $val;
}
}
PD9waHAKJHN0cmluZyA9ICdQcmltYXJ5W0JsdWV8MDAwMEZGLFJlZHxGRjAwMDAsWWVsbG93fEZGRkYwMF0sU2Vjb25kYXJ5W0dyZWVufDAwRkYwMCxPcmFuZ2V8RkY5OTAwLFB1cnBsZXw2NjMzOTldLEJyb3dufEE1MkEyQSxTaWx2ZXJ8QzBDMEMwJzsKCiRhcnJheSA9IHByZWdfc3BsaXQoJy8oPyFbXlxbXStcXSksLycsICRzdHJpbmcpOwoKJHJldHVybiA9IGFycmF5KCk7Cgpmb3JlYWNoKCRhcnJheSBhcyAkdmFsKXsKICAgIGlmKHByZWdfbWF0Y2goJy8oLiopXFsoLiopXF0vJywgJHZhbCwgJG1hdGNoKSA9PT0gMSl7CiAgICAgICAgJHJldHVyblskbWF0Y2hbMV1dID0gZXhwbG9kZSgnLCcsICRtYXRjaFsyXSk7CiAgICB9CiAgICBlbHNlewogICAgICAgICRyZXR1cm5bXSA9ICR2YWw7CiAgICB9Cn0KCnZhcl9kdW1wKCRyZXR1cm4pOw==