Truncate string in Laravel blade templates

痴心易碎 提交于 2019-11-28 03:38:34

In Laravel 4 & 5, you can use str_limit, which limits the number of characters in a string.

{{ str_limit($string, $limit = 150, $end = '...') }}

For more Laravel helper functions http://laravel.com/docs/helpers#strings

Dustin Graham

Laravel 4 has Str::limit which will truncate to the exact number of characters, and also Str::words which will truncate on word boundary.

Check out:

Edit: This answer is was posted during the Laravel 4 beta, when Str class did not exist. There is now a better way to do it in Laravel 4 - which is Dustin's answer below. I cannot delete this answer due to SO rules (it wont let me)

Blade itself does not have that functionality.

In Laravel 3 there was the Str class - which you could do:

{{ Str::limit($myVariable, 10) }}

At this stage I do not believe the Str class is in Laravel 4 - but here is a port of it that you can include in composer to add to your own project

You can Set the namespace like:

{!! \Illuminate\Support\Str::words($item->description, 10,'....')  !!}

To keep your code DRY, and if your content comes from your model you should adopt a slightly different approach. Edit your model like so (tested in L5.8):

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;

class Comment extends Model
{
    public function getShortDescriptionAttribute()
    {
        return Str::words($this->description, 10, '...');
    }
}
?>

Then in your view :

{{ $comment->short_description }}

Laravel 5.8 Update

{!! Str::limit('Lorem ipsum dolor sit amet, consectetur adipisicing elit', 10, ' ...') !!}

Output

Lorem ipsu ... 
Ofor Emma

This works on Laravel 5:

{!!strlen($post->content) > 200 ? substr($post->content,0,200) : $post->content!!}

You can set string limit as below example:

<td>{{str_limit($biodata ->description, $limit = 20, $end = '...')}}</td>

It will display only the 20 letters including whitespaces and ends with ....

Example image

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!