Как выбрать первые 10 слов предложения? - PullRequest
48 голосов
/ 11 мая 2011

Как из вывода выбрать только первые 10 слов?

Ответы [ 13 ]

0 голосов
/ 04 августа 2015

Я не понимаю, почему весь этот беспорядок, когда есть встроенная функция Wordpress:

<?= wp_trim_words(get_the_content(), 15, '...') ?>

Это повторяет первые 15 слов контента (это работает в обычном цикле) и добавляет многоточие.

0 голосов
/ 05 марта 2015

Я делаю это так:

function trim_by_words($string, $word_count = 10) {
    $string = explode(' ', $string);
    if (empty($string) == false) {
        $string = array_chunk($string, $word_count);
        $string = $string[0];
    }
    $string = implode(' ', $string);
    return $string;
}

Его UTF8-совместимый ...

0 голосов
/ 09 декабря 2014

Это полностью то, что мы ищем. Просто вырежьте n, вставьте в вашу программу и запустите.

function shorten_string($string, $wordsreturned)
/*  Returns the first $wordsreturned out of $string.  If string
contains fewer words than $wordsreturned, the entire string
is returned.
*/
{
$retval = $string;      //  Just in case of a problem

$array = explode(" ", $string);
if (count($array)<=$wordsreturned)
/*  Already short enough, return the whole thing
*/
{
$retval = $string;
}
else
/*  Need to chop of some words
*/
{
array_splice($array, $wordsreturned);
$retval = implode(" ", $array)." ...";
}
return $retval;
}

и просто вызовите функцию в вашем блоке кода, как

$data_itr = shorten_string($Itinerary,25);
...