Для получения полного доступа
зарегистрируйтесь.
Сниппет,  PHP

Разбить строку пополам не разрывая слов


Решение оказалось не вполне рабочим :(

Улучшенное решение задачи из http://gostash.it/ru/stashes/1452:

  • Разбивает строку по ближайшему к центру пробелу вне зависимости от того, справа или слева он от центра.
  • Работает с UTF-8.
  • Отдаёт массив, который можно применить не только в HTML.

Для проверки:

var_dump(splitInHalf('this is a hyperlooping'));
var_dump(splitInHalf('this hyperlooping'));
function splitInHalf($string)
{
    $middle = mb_strrpos(mb_substr($string, 0, floor(strlen($string) / 2), 'UTF-8'), ' ', null, 'UTF-8') + 1;

    return [
        mb_substr($string, 0, $middle - 1, 'UTF-8'),
        mb_substr($string, $middle, null, 'UTF-8')
    ];
}

  php string

Автор


samdark
  • Репутация: 349
  • Сниппеты : 57
  • Ревизии : 5
Подписаться

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация