Мне нужно разделить строку разделителем регулярных выражений, но нужен разделитель в качестве ключа массива.
Вот пример строки:
*01the title*35the author*A7other useless infos*AEother useful infos*AEsome delimiters can be there multiple times
Разделителем является звездочка (*), за которыми следуют два буквенно-цифровых символа.Я использую этот шаблон регулярных выражений: /\*[A-Z0-9]{2}/
Это мой вызов preg_split:
$attributes = preg_split('/\*[A-Z0-9]{2}/', $line);
Это работает, но мне нужен каждый соответствующий разделитель в качестве ключа значения в ассоциативном массиве.
То, что я получаю, выглядит так:
$matches = [
0 => 'the title',
1 => 'the author',
2 => 'other useless infos',
3 => 'other useful infos',
4 => 'some delimiters can be there multiple times'
];
Это должно выглядеть так:
$matches = [
'*01' => 'the title',
'*35' => 'the author',
'*A7' => 'other useless infos',
'*AE' => [
'other useful infos',
'some delimiters can be there multiple times',
],
];
Кто-нибудь есть какие-либо предложения о том, как этого добиться?