Заметка с примером PHP кода, позволяющая обрезать предложение до целого слова.
Функция обрезки предложения:
function cutString($string, $maxlen) {
$len = (mb_strlen($string) > $maxlen)? mb_strripos(mb_substr($string, 0, $maxlen), ' ') : $maxlen;
$cutStr = mb_substr($string, 0, $len);
return (mb_strlen($string) > $maxlen)? $cutStr.' ...' : $cutStr;
}
$len = (mb_strlen($string) > $maxlen)? mb_strripos(mb_substr($string, 0, $maxlen), ' ') : $maxlen;
$cutStr = mb_substr($string, 0, $len);
return (mb_strlen($string) > $maxlen)? $cutStr.' ...' : $cutStr;
}
Вывод функции обрезки слов:
<?php echo cutString(get_the_content(), 100); ?>
где get_the_content — любая другая функция. В данном примере функция get_the_content выводит содержание статьи в WordPress. Переменная «100» указывает количество символов, после которых нужно сократить информацию.
Очень важное замечание!
При обрезке слов никогда не использовать функцию strlen(). Она ведёт подсчет байтов в строке, а не символов! Всегда использовать mb_strlen(), которая считает количество символов. Иначе рано или поздно можно столкнуться с неожиданными результатами.