在 Laravel 刀片模板中截断字符串

Laravel中的刀片模板是否有截断修饰符,就像Smarty一样?

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

例如,我正在寻找类似的东西:

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

我知道我可以通过作曲家使用像Twig这样的东西,但我希望在Laravel本身中内置功能。

如果没有,则可以创建自己的可重用修饰符,就像Smarty提供的那样。我喜欢Blade不会在所有语法上过度使用的事实,但我认为truncate是一个真正方便的功能。

我使用的是Laravel 4。


答案 1

在 Laravel 4 和 5(最多 5.7)中,您可以使用 ,它限制了字符串中的字符数。str_limit

在 Laravel 5.8 up 中,您可以使用助手。Str::limit

//For Laravel 4 to Laravel 5.5
{{ str_limit($string, $limit = 150, $end = '...') }}
//For Laravel 5.5 upwards
{{ \Illuminate\Support\Str::limit($string, 150, $end='...') }}

有关更多 Laravel 帮助程序函数,http://laravel.com/docs/helpers#strings


答案 2

Laravel 4具有截断到确切字符数的字符,并且还将在单词边界上截断。Str::limitStr::words

退房:


推荐