Как Усечь строку в PHP к слову, самому близкому к определенному числу символов?

Мне записали фрагмент кода в PHP, который вытягивает блок текста от базы данных и отсылает его в виджет на веб-странице. Исходный блок текста может быть длинной статьей или коротким предложением или два; но для этого виджета я не могу отобразить больше, чем, скажем, 200 символов. Я мог использовать substr () для обрубания текста в 200 символах, но результат будет отключать посреди слов - что я действительно хочу, должен прервать текст в конце последнего слова перед 200 символами.

176
задан Brian 17 September 2008 в 04:24
поделиться

1 ответ

Вот моя функция, основанная на подходе @Cd-MaN.

function shorten($string, $width) {
  if(strlen($string) > $width) {
    $string = wordwrap($string, $width);
    $string = substr($string, 0, strpos($string, "\n"));
  }

  return $string;
}
5
ответ дан 23 November 2019 в 20:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: