У меня есть строка
Pottery & Glass:Pottery & China:China & Dinnerware:Fiesta: Contemporary
Мне нужно разбить его на массив, как
['Pottery & Glass','Pottery & China:China & Dinnerware','Fiesta: Contemporary']
Делится на основе :
. Но в Fiesta: Contemporary
есть место с :
. так что это одна строка, а другая не имеет пробела.
Если я использую PHP explode
, тогда он разделит все, и я также попробовал split_str
с помощью регулярных выражений, но безуспешно.
Я пытаюсь :(\s)*
это регулярное выражение.
Проблема решена:
$data = preg_split('/:(?! )/','Pottery & Glass:Pottery & China:China & Dinnerware:Fiesta: Contemporary')
Выход:
array:4 [
0 => "Pottery & Glass"
1 => "Pottery & China"
2 => "China & Dinnerware"
3 => "Fiesta: Contemporary"
]