截断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,'....') !!}