У меня есть массив, который выглядит следующим образом:значение Группы из массива в соответствии с Regex в PHP
[0] => name {
[1] => abc
[2] => def
[3] => }
[4] =>
[5] => othername {
[6] => 123
[7] => 456
[8] => 789
[9] => }
[10] =>
Как вы можете видеть каждую группу (под каждое имя) может иметь разное количество линий и различные элементы в них но каждая группа начинается с того же синтаксиса регулярных выражений и заканчивается закрытием} и пустой строкой после этого.
Мне нужно получить массив для каждой группы (для каждого имени) рекурсивно. Я сделал регулярное выражение preg_match, которое найдет каждую строку имени, но я не знаю, как создать массив с тем, у которого также есть все строки, которые находятся перед следующей группой имен.
Так что я хочу получить:
array(
array('name {', 'abc', 'def', '}'),
array('othername {', '123', '456', '789', '}')
)
Как я могу подойти к этому? Заранее спасибо.
Так что вы хотите 'abcdef' и' 123456789' двух переменных? – chris85
На самом деле мне нужно было бы что-то вроде 'Array [0] ([0] => name {, [1] => abc, [2] => def, [3] =>}), Array [1] ([0] => othername {, [1] => 123, [2] => 456, [3] => 789, [4] =>}) 'поэтому я могу затем вызвать каждый массив с ним, имеющим все его значения , – CesarA
Похоже, вы сделали токены, теперь просто разобрали его :) Вы не можете делать это только с регулярными выражениями, создайте небольшую машину состояний. – Halcyon