Здесь вы идете:
preg_split('/([^.:!?]+[.:!?]+)/', 'good:news.everyone!', -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
Как это работает: шаблон фактически превращает все в разделитель. Затем, чтобы включить эти разделители в массив, вы можете использовать константу PREG_SPLIT_DELIM_CAPTURE
. Это вернет массив вроде:
array (
0 => '',
1 => 'good:',
2 => '',
3 => 'news.',
4 => '',
5 => 'everyone!',
6 => '',
);
Чтобы избавиться от пустых значений, используйте PREG_SPLIT_NO_EMPTY
. Чтобы объединить две или более из этих констант, мы используем побитовый оператор |
. Результат:
array (
0 => 'good:',
1 => 'news.',
2 => 'everyone!'
);