How to parse a formatted string with hyphens and square braces into a flat array of components
I have a string such as:
84 - Pampers mid (4-9кг) №180 [Procter&Gamble] - 1978.00
And I need to divide it into an array like:
[0] 84
[1] Pampers mid (4-9кг) №180
[2] Procter&Gamble
[3] 1978.00
At that moment, I am doing it step-by-step:
$pattern = '/\[(.*)\]/'; // producer
preg_match($pattern, $subject, $matches_producer);
$provider = $matches_producer[1];
...
and so on for each element.
But this is an ugly approach, isn't it? How can I make it with one pattern?