Усечение текста в PHP?

Я пытаюсь усечь некоторый текст в PHP и наткнулся на этот метод ( http://theodin.co.uk/blog/development/truncate-text-in-php-the-easy-way.html ), который судит по комментариям выглядит как простое в использовании решение. Проблема в том, что я не знаю, как ее реализовать: S.

Может ли кто-нибудь мысленно указывать мне, что делать, чтобы это осуществить? Любая помощь будет оценена по достоинству.

Заранее спасибо.

Related of "Усечение текста в PHP?"

Очевидная вещь – прочитать документацию .

Но чтобы помочь: substr($str, $start, $end);

$str – ваш текст

$start – это индекс символа, начинающийся с. В вашем случае это, скорее всего, 0, что означает начало.

$end – это то, где нужно усечь. Предположим, что вы хотели закончить с 15 символами, например. Вы должны написать это так:

 <?php $text = "long text that should be truncated"; echo substr($text, 0, 15); ?> 

и вы получите следующее:

 long text that 

имеет смысл?

РЕДАКТИРОВАТЬ

Ссылка, которую вы дали, – это функция поиска последнего пробела после измельчения текста до нужной длины, чтобы вы не отрезали середину слова. Однако отсутствует одна важная вещь – желаемая длина должна быть передана функции, а не всегда предполагать, что вы хотите, чтобы она составляла 25 символов. Итак, вот обновленная версия:

 function truncate($text, $chars = 25) { $text = $text." "; $text = substr($text,0,$chars); $text = substr($text,0,strrpos($text,' ')); $text = $text."..."; return $text; } 

Поэтому в вашем случае вы вставляете эту функцию в файл functions.php и вызываете ее так на вашей странице:

 $post = the_post(); echo truncate($post, 100); 

Это сократит ваш пост до последнего появления пробела до или до 100 символов. Очевидно, вы можете передать любое число вместо 100. Неважно, что вам нужно.

 $mystring = "this is the text that I would like to had truncated"; // Pass your variable to the function $mystring = truncat($mystring); // Truncated tring printed out; echo $mystring; //truncate text function public function truncate($text) { //specify number fo characters to shorten by $chars = 25; $text = $text." "; $text = substr($text,0,$chars); $text = substr($text,0,strrpos($text,' ')); $text = $text."..."; return $text; } 
 $text="abc1234567890"; // truncate to 4 chars echo substr(str_pad($text,4),0,4); 

Это позволяет избежать проблемы обрезания строки из 4 символов до 10 символов .. (т. Е. Источник меньше требуемого)