Разобрать строку без разделителей в двумерный массивPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Разобрать строку без разделителей в двумерный массив

Сообщение Anonymous »

У меня есть такая строка:

Код: Выделить всё

 0d(Hi)i(Hello)4d(who)i(where)540d(begin)i(began)
И я хочу создать из него массив.
Сначала я пытаюсь добавить разделитель, чтобы использовать функцию php взорвать.

Код: Выделить всё

 ;0,d(Hi),i(Hello);4,d(who),i(where);540,d(begin),i(began)
Это работает, но проблема в том, что я хочу минимизировать разделитель, чтобы сэкономить место на диске.
Поэтому я хочу знать, используя preg_split(), регулярное выражение, возможно ли иметь такой огромный массив без использования разделителя:

Код: Выделить всё

Array (
[0] => Array (
[0] => 0
[1] => d(hi)
[2] => i(Hello)
)
[1] => Array (
[0] => 4
[1] => d(who)
[2] => i(where)
)
[2] => Array (
[0] => 540
[1] => d(begin)
[2] => i(began)
)
)
Я попробовал код и регулярное выражение, но увидел, что значение в регулярном выражении не присутствует в конечном результате (как и функция разнесения, в конечном массиве у нас нет разделителя .)
Более того, у меня возникли некоторые трудности с построением регулярного выражения. Вот что я сделал:

Код: Выделить всё

 $modif = preg_split("/[0-9]+(d(.+))?(i(.+))?/", $data);
Я должен уточнить, что d() и i() не могут присутствовать (но хотя бы один).

Подробнее здесь: https://stackoverflow.com/questions/116 ... a-2d-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»