Метод limit
Метод limit класса Str предназначен для ограничения длины строки до указанного количества символов. Первым параметром передаётся максимальная длина строки, вторым - суффикс, который будет добавлен в конец обрезанной строки. Если длина строки не превышает заданного лимита, она возвращается без изменений. По умолчанию суффикс равен троеточию '...'.
Синтаксис
<?php
Str::limit($string, $limit, $suffix);
?>
Пример
Давайте ограничим длину строки до 10 символов с суффиксом по умолчанию:
<?php
use Illuminate\Support\Str;
$str = 'This is a very long string with many characters';
$res = Str::limit($str, 10);
echo $res;
?>
Результат выполнения кода:
"This is a ..."
Пример
Давайте ограничим строку до 15 символов с пользовательским суффиксом:
<?php
use Illuminate\Support\Str;
$str = 'This is a very long string with many characters';
$res = Str::limit($str, 15, ' [read more]');
echo $res;
?>
Результат выполнения кода:
"This is a very [read more]"
Пример
Если строка короче лимита, она возвращается без изменений:
<?php
use Illuminate\Support\Str;
$str = 'Short string';
$res = Str::limit($str, 20);
echo $res;
?>
Результат выполнения кода:
"Short string"
Пример
Давайте используем метод в реальном проекте для обрезки описания статьи:
<?php
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Support\Str;
class ArticleController extends Controller
{
public function index()
{
$articles = Article::all();
foreach ($articles as $article) {
$description = Str::limit($article->description, 50);
echo $description . "\n";
}
}
}
?>
Результат выполнения кода:
"This is a short description of the article..."
"Another article with a very long description..."
"Short desc"