Как обрезать строку не разрезая слово на PHP
17.07.2017 01:54:26 pm
Сабж, как обрезать строку не разрезая слово на PHP:
Найти пробел после слово, в котором находится символ, по который надо обрезать, можно так:
Это поможет нам определить в каком именно месте надо "резать" строку. Теперь, когда нам известно местонахождение пробела, можем вырезать:
Переменная
$text = 'Доброго времени суток! Подскажите, как можно обрезать текст, чтобы не разрезать слово? То есть, чтобы последнее слово осталось целым. Сейчас обрезаю строку по количеству символов';
Теперь! Варианты решений выше могут превышать заданное количество символов. Если заданное количество превышать ни в коем случаи нельзя, могу предложить такой вариант:
С кириллицей работает, проверенно на этом сайте.
$text = mb_substr($text, 160);
Найти пробел после слово, в котором находится символ, по который надо обрезать, можно так:
$number = mb_strpos($text, ' ', 160);
Это поможет нам определить в каком именно месте надо "резать" строку. Теперь, когда нам известно местонахождение пробела, можем вырезать:
$text = mb_substr($text, 0, $number);
Переменная
$text
- обрезанная строка.
$text = 'Доброго времени суток! Подскажите, как можно обрезать текст, чтобы не разрезать слово? То есть, чтобы последнее слово осталось целым. Сейчас обрезаю строку по количеству символов';
$number = mb_strpos($text, ' ', 160);
$text = mb_substr($text, 0, $number);
echo 'Количество символов в обрезанной строке: ' . $number . '<br />Текст строки: ' . $text;
Теперь! Варианты решений выше могут превышать заданное количество символов. Если заданное количество превышать ни в коем случаи нельзя, могу предложить такой вариант:
$text = mb_substr($text, 0, mb_strrpos(mb_substr($text, 0, 160), ' '));
С кириллицей работает, проверенно на этом сайте.
- Жалоба