2016-11-22 2 views
0

Я хочу показать небольшое введение с ограниченным количеством слов, не сокращая последнее слово, если оно слишком длинное ... Я знаю, что есть функция php substr(), но она не отображает введение, подобное «this это мой начальный текст ... » В нем говорится, что« это мой начальный т ... »в PHP. Спасибо за любой ответ.Как ограничить количество слов в описании в php?

    <a href="#">'.substr($rows['title'],0,50).'</a> 
+0

Найти место и 'substr' к нему. –

+0

Разделите слова и возьмите только первые . – Marvin

+0

как? @Marvin извините! Я не понял .. –

ответ

2

почему не так:

implode(' ', array_slice(explode(' ', $rows['title']), 0, 50)); 
  1. взорвать все слова;
  2. получить первые 50;
  3. воссоздать предложение, содержащее только первые 50 слов;
+0

Есть более эффективные способы и более быстрые способы сделать это, это займет больше времени, чем сокращение текста вниз. - См. мой ответ. – FluxCoder

+0

Я, хотя он попросил лимит слов? – Thanatos11th

-2

Я бы предложил создать функцию, как если бы вы использовали это более одного раза, было бы лучше иметь меньше кода, вставленного вокруг. Ниже приведенный ниже код уменьшит ваш текст до нужного символьного предела.

function shrink($text, $max_length){ 
    if(strlen($text)<=$max_length){ 
     echo $text; //Checks if the text if smaller, if so it'll just echo. 
    } else { 
     $return=substr($text,0,$max_length) . '...'; //Shrinks 
     return $return; length. 
    } 
} 

Для использования функции просто позвонить:

<?php echo shrink($text, 200); ?> 

код взят из моего собственного сайта: https://officialtutorials.com/limit-characters-php/

+4

Это именно то, что OP делает _not_ хочет сделать –

+2

Эта функция выглядит как менее полезная версия 'substr'. –

+1

Код даже не компилируется. – Marvin

 Смежные вопросы

  • Нет связанных вопросов^_^