Посмотрев на ваш пример выходных данных, я заметил, что все наши примеры выключены, мы даем меньше строке1, если середина строки находится внутри слова, а не даем больше.
Например, серединаThe Quick : Brown Fox Jumped Over The Lazy / Dog
равно The Quick : Brown Fox Ju
, что находится в середине слова, этот первый пример дает string2 разделенное слово;нижний пример дает string1 слово для разделения.
дает меньше для строки1 для слова для разделения
$text = "The Quick : Brown Fox Jumped Over The Lazy / Dog";
$middle = strrpos(substr($text, 0, floor(strlen($text) / 2)), ' ') + 1;
$string1 = substr($text, 0, $middle); // "The Quick : Brown Fox "
$string2 = substr($text, $middle); // "Jumped Over The Lazy / Dog"
дает больше для строки1 в слове для разделения
$text = "The Quick : Brown Fox Jumped Over The Lazy / Dog";
$splitstring1 = substr($text, 0, floor(strlen($text) / 2));
$splitstring2 = substr($text, floor(strlen($text) / 2));
if (substr($splitstring1, 0, -1) != ' ' AND substr($splitstring2, 0, 1) != ' ')
{
$middle = strlen($splitstring1) + strpos($splitstring2, ' ') + 1;
}
else
{
$middle = strrpos(substr($text, 0, floor(strlen($text) / 2)), ' ') + 1;
}
$string1 = substr($text, 0, $middle); // "The Quick : Brown Fox Jumped "
$string2 = substr($text, $middle); // "Over The Lazy / Dog"