новые сообщения
ответы на мои сообщения
избранное
скрытые темы
случайный топик
открыть всё в новых вкладках
Форум → Программирование → PHP для идиотов → Группировка подмасок
Группировка подмасок
-
$data = 'jkdf {hello world} 434 {o lo looooo}';
preg_match_all( '#(?:\{(hello)\s+(world)\})|(?:\{(o)\s+(lo)\s+(looooo)\})#ui', $data, $aa, PREG_SET_ORDER );
вывод:
[0] => Array
(
[0] => {hello world}
[1] => hello
[2] => world
)
[1] => Array
(
[0] => {o lo looooo}
[1] =>
[2] =>
[3] => o
[4] => lo
[5] => looooo
)
Вопрос: как правильно сгруппировать подмаски, чтобы не было пустых индексов во втором массиве.
[1] =>
[2] =>
Они появляются из-за (hello)\s+(world) которых второе условие ловит из первого.
Необходимо чтобы результат был таким:
[0] => Array
(
[0] => {hello world}
[1] => hello
[2] => world
)
[1] => Array
(
[0] => {o lo looooo}
[1] => o
[2] => lo
[3] => looooo
)
Удаление пустых значений массива не подойдет -
24 ноября 2009 г. 21:54, спустя 5 дней 9 часов 2 минуты
DeAle, метод хуйня, сначала просто вырежи все {…}
а потом для каждого проexplode данные и получишь нужный результатСапожник без сапог
Пожалуйста, авторизуйтесь, чтобы написать комментарий!