spróbuj użyć funkcji
preg_splitw taki sposób:
$string = 'L1L4L5L3';
$result = preg_split('/([\D]+[\d]+)/', $string, -1
, PREG_SPLIT_DELIM_CAPTURE
|PREG_SPLIT_NO_EMPTY
);
Wyrażenie regularne odnajduje ciągi znaków składające się co najmniej jednego znaku niebędącego cyfrą i co najmniej jednego znaku będącego cyfrą.
Odnaleziony taki ciąg służy jako rozdzielnik, a dzięki fladze
PREG_SPLIT_DELIM_CAPTURE dołączany jest jako wynik.
Flaga
PREG_SPLIT_NO_EMPTY daje wyniki bez pustych ciągów znaków.