Вы можете использовать substring
и strpos
, чтобы найти нужные части, или вы можете использовать preg_match
(регулярные выражения), оба имеют свои преимущества (dis).Используя preg_match
, вы можете сделать это всего за одну строку, но это относительно медленно и не так просто в использовании.Я бы сделал что-то вроде этого:
while(/* $line is next line available */) {
$brace_position = strpos($line, '{');
$bracket_position = strpos($line, '[');
$data = array(
substr($line, 0, ($brace_position - 1),
substr($line, $brace_position, ($backet_position - $brace_position - 1)),
substr($line, $bracket_position)
);
}
Другой ответ, приведенный выше, от wired00, тоже правильный, но только , если длина каждой строки одинакова (т.е. одинаковаколичество слов через пробел).Ответ по check123 не является правильным ответом на ваш вопрос.
См. ответ Strauberry для регулярного выражения, которое я упоминал выше.