Если вы используете preg_split()
для разделения вашей строки, рассмотрите возможность использования флага PREG_SPLIT_DELIM_CAPTURE
, чтобы зафиксировать знаки препинания с совпадениями.
Обратите внимание:
$str = "This. string/ has? punctuation!";
print_r(preg_split('/(\W+)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE));
/*
Array
(
[0] => This
[1] => .
[2] => string
[3] => /
[4] => has
[5] => ?
[6] => punctuation
[7] => !
[8] =>
)
*/
См. http://php.net/preg_split для получения дополнительной информации.