Как я могу обрезать строку до первых 20 слов в PHP? - PullRequest
56 голосов
/ 08 июня 2009

Как я могу обрезать строку после 20 слов в PHP?

Ответы [ 27 ]

1 голос
/ 25 ноября 2017

Для ограничения слов я использую следующий маленький код:

    $string = "hello world ! I love chocolate.";
    $explode = array_slice(explode(' ', $string), 0, 4);
    $implode = implode(" ",$explode);   
    echo $implode;

$ Имплант даст: здравствуй, мир! I

0 голосов
/ 26 июня 2018

Я сделал свою функцию:

function summery($text, $limit) {
    $words=preg_split('/\s+/', $text);
     $count=count(preg_split('/\s+/', $text));
      if ($count > $limit) {
          $text=NULL;
          for($i=0;$i<$limit;$i++)
              $text.=$words[$i].' ';
          $text.='...';
      }
      return $text;
    }
0 голосов
/ 23 июня 2018
function limitText($string,$limit){
        if(strlen($string) > $limit){
                $string = substr($string, 0,$limit) . "...";
        }
        return $string;
}

это вернет 20 слов. Я надеюсь, что это поможет

0 голосов
/ 20 июня 2018

Предположим, у нас есть строковые переменные $ string , $ start и $ limit . Для этого мы можем позаимствовать 3 или 4 функции из PHP. Это:

  • script_tags () Функция PHP для удаления ненужных HTML и PHP теги (если есть). В этом нет необходимости, если нет тегов HTML или PHP.
  • explode () , чтобы разбить строку $ на массив
  • array_splice () , чтобы указать количество слов и с чего начать от. Он будет управляться значениями, присвоенными нашим $ start и $ limit переменным.
  • и, наконец, implode () для объединения элементов массива в усеченный строка ..

    function truncateString($string, $start, $limit){
        $stripped_string =strip_tags($string); // if there are HTML or PHP tags
        $string_array =explode(' ',$stripped_string);
        $truncated_array = array_splice($string_array,$start,$limit);
        $truncated_string=implode(' ',$truncated_array);
    
        return $truncated_string;
    }
    

Это так просто ..

Надеюсь, это было полезно.

0 голосов
/ 06 марта 2019
$text='some text';
$len=strlen($text);
    $limit=500;
// char
    if($len>$limit){
        $text=substr($text,0,$limit);
        $words=explode(" ", $text);
        $wcount=count($words);
        $ll=strlen($words[$wcount]);
        $text=substr($text,0,($limit-$ll+1)).'...';
    }
0 голосов
/ 07 марта 2019
    function limit_word($start,$limit,$text){
            $limit=$limit-1;
            $stripped_string =strip_tags($text);
            $string_array =explode(' ',$stripped_string);
            if(count($string_array)>$limit){
            $truncated_array = array_splice($string_array,$start,$limit);
            $text=implode(' ',$truncated_array).'...';
            return($text);
            }
            else{return($text);}
    }
0 голосов
/ 08 июня 2009

а как же

chunk_split($str,20);

Запись в руководстве по PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...