Разделить строки пополам (Word-Aware) с помощью PHP

Я пытаюсь разделить струны пополам, и они не должны разделяться на части. в середине слова.

Пока что я придумал следующее, которое работает на 99%:

$text = "The Quick : Brown Fox Jumped Over The Lazy / Dog";
$half = (int)ceil(count($words = str_word_count($text, 1)) / 2); 
$string1 = implode(' ', array_slice($words, 0, $half));
$string2 = implode(' ', array_slice($words, $half));

Это действительно работает, правильно разделяя любую строку пополам в соответствии с количеством слов в строке. Однако это удаляя любые символы в строке, например, в приведенном выше примере он выводит:

The Quick Brown Fox Jumped
Over The Lazy Dog

Мне нужно сохранить все символы, такие как: и /, в строке после разделения. Я не понимаю, почему текущий код удаляет символы ... Если вы можете предоставить альтернативный метод или исправить этот метод, чтобы не удалять символы, мы будем очень признательны:)

11
задан Leo44 19 November 2011 в 09:24
поделиться