Нужно распилить строку на массив. Строка:
routes[0][1].action.controller[0].class
Массив:
array(
[0]=> string(6) "routes",
[1]=> string(3) "[0]",
[2]=> string(3) "[1]",
[3]=> string(6) "action",
[4]=> string(10) "controller",
[5]=> string(3) "[0]",
[6]=> string(5) "class"
)
А еще лучше на:
array(
[0]=> string(6) "routes",
[1]=> int(0),
[2]=> int(1),
[3]=> string(6) "action",
[4]=> string(10) "controller",
[5]=> int(0),
[6]=> string(5) "class"
)
Вот мой код
preg_match_all(
'/([a-z0-9_]+)(\[\d+\])*(\.|$)/',
'routes[0][0].action.controller[0].class',
$matches
);
Но я получаю
array (
0 =>
array (
0 => 'routes[0][1]',
1 => 'action',
2 => 'controller[0]',
3 => 'class',
),
1 =>
array (
0 => 'routes',
1 => 'action',
2 => 'controller',
3 => 'class',
),
2 =>
array (
0 => '[1]',
1 => '',
2 => '[0]',
3 => '',
),
)
Ищем слово или цифры в квадратных скобках
\w+|\[\d+\]
демо на regex101
демо на eval.in
А чтобы получить цифры без скобок
\w+|(?<=\[)\d+(?=\])\]
демо на eval.in
$string = 'routes[0][0].action.controller[0].class';
preg_match_all('/[a-z0-9]+|\[\d\]/', $string, $matches);
пример
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Сейчас ставлю phpmyadmin, на странице логгина выскакивает предупреждение, что папки var/lib/php/sessions нет, зашёл, чекнулПосле переустановки появилась...
Привет всем, у меня проблема с пдо , хочу подключится к базе, --> Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'wm65389_rafael'@'localhost' (using...