PHP: обрезать текст на границах слов

У кого-то есть точное имя функции, которую Drupal использует, чтобы включить следующую строку:

«Привет, как ты. Еще один текст».

в

"Привет как…"

Т.е. функция, которая используется для прерывания предложения после x слов, а затем добавляет elipsis. Кроме того, если у кого-то есть фрагмент php, который делает это, это тоже здорово!

function getFirstWords($string, $words = 1) { $string = explode(' ', $string); if (count($string) > $words) { return implode(' ', array_slice($string, 0, $words)) . '...'; } return implode(' ', $string); } echo getFirstWords('Hello, how are you. Some more text.', 2); // Hello, how... 

Кажется, это truncate_utf8() в unicode.inc .

http://api.lullabot.com/views_trim_text Это функция, которая используется.

Я думаю, вы ищете усечение, которое уважает границы слов. Я не знаю, как это делает Drupal, но здесь есть достойный код.

Вы можете использовать функцию views_trim_text ($ alter, $ value)

подробнее https://api.drupal.org/api/views/views.module/function/views_trim_text/7

 $alter['html'] = TRUE; $alter['max_length'] = 200; $alter['word_boundary'] = TRUE; $alter['ellipsis'] = TRUE; print views_trim_text($alter, $output);