截断Laravel刀片模板中的string

Laravel中的刀片模板是否有截断修饰符,非常像Smarty?

我知道我可以只写出模板中的实际的PHP,但我正在寻找一些更好的写(让我们不进入整个PHP是一个模板引擎的辩论)。

所以,例如我正在寻找像这样的东西:

{{ $myVariable|truncate:"10":"..." }} 

我知道我可以通过composer php使用像Twig这样的东西,但我希望在Laravel本身内置function。

如果不是,可以创build像Smarty提供的自己的可重用修饰符。 我喜欢Blade不会夸大所有的语法,但我认为truncate是一个真正的方便的函数。

我正在使用Laravel 4。

编辑:这个答案是在Laravel 4 beta期间发布的,当时Str类不存在。 现在有一个更好的方法来做Laravel 4 – 这是达斯汀的答案如下。 由于SO规则,我不能删除这个答案(它不会让我)

刀片本身没有这个function。

在Laravel 3中有Str课程 – 你可以这样做:

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

在这个阶段,我不认为Str类是在Laravel 4中 – 但是这里有一个端口,你可以在composer中join自己的项目

在Laravel 4&5中,可以使用str_limit来限制string中的字符数。

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

更多Laravel帮助函数http://laravel.com/docs/helpers#strings

Laravel 4具有Str::limit ,它将截断为字符的确切数量,并且还将在字边界上截断Str::words

查看:

你可以像下面这样设置命名空间:

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