Мне записали фрагмент кода в PHP, который вытягивает блок текста от базы данных и отсылает его в виджет на веб-странице. Исходный блок текста может быть длинной статьей или коротким предложением или два; но для этого виджета я не могу отобразить больше, чем, скажем, 200 символов. Я мог использовать substr () для обрубания текста в 200 символах, но результат будет отключать посреди слов - что я действительно хочу, должен прервать текст в конце последнего слова перед 200 символами.
Вот моя функция, основанная на подходе @Cd-MaN.
function shorten($string, $width) {
if(strlen($string) > $width) {
$string = wordwrap($string, $width);
$string = substr($string, 0, strpos($string, "\n"));
}
return $string;
}