Редактировать: ОК, я не могу читать, спасибо полковнику Шрапнелю за помощь. Если кто-то приходит сюда в поисках того же, что нужно ответить ...
print_r(preg_split('/([\!|\?|\.|\!\?])/', $string, null, PREG_SPLIT_DELIM_CAPTURE));
Есть ли способ разбить строку на набор разделителей и сохранить положение и символ (ы) разделителя после разделения?
Например, используя разделители !
?
.
!?
, поворачивая это:
$string = 'Hello. A question? How strange! Maybe even surreal!? Who knows.';
в это
array('Hello', '.', 'A question', '?', 'How strange', '!', 'Maybe even surreal', '!?', 'Who knows', '.');
В настоящее время я пытаюсь использовать print_r(preg_split('/([\!|\?|\.|\!\?])/', $string));
для захвата разделителей в качестве подшаблона, но мне не везет.