Laravel字符串降低

loc*_*yen 13 php laravel laravel-5

我正在尝试在视图页面中将字符串转换为小写(index.blade.php)

以下是我想要实现的目标.

<img src="images/teamnamesml.jpg logo">
Run Code Online (Sandbox Code Playgroud)

这是我的尝试

<img src="images/{{ Str::lower($matchup->visitorTeam) }}sml.jpg">
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

FatalErrorException in ed1bb29e73e623d0f837c841ed066275 line 71:
Class 'Str' not found
Run Code Online (Sandbox Code Playgroud)

我是否必须将类导入Illuminate\Support\Str特定文件?

Bro*_*ary 26

为什么不直接使用PHP内置strtolower?

<img src="images/{{ strtolower($matchup->visitorTeam) }}sml.jpg">
Run Code Online (Sandbox Code Playgroud)

或者,如果您需要完整的UTF-8支持,您可以使用mb_strtolower($string, 'UTF-8')它允许变音符号和其他有趣的UTF-8内容.这就是Laravel的Str::lower()功能.

  • 是的,我可以做到。这让我忘记了,但既然我已经问了这个问题,那么使用 Laravel 的 `Str::lower($value)` 找到一个解决方案就好了 (2认同)

Zeu*_*ssi 11

因为在评论中你仍然问,它是如何以Laravel方式工作的,所以这里有一个替代解决方案,strtolower并且mb_strtolower,它也可以正常工作.

您必须在方法前添加namsepace,PHP和Laravel可以找到该方法.

因此,如果要在Blade中使用它,请执行以下操作:

<img src="images/{{ Illuminate\Support\Str::lower($matchup->visitorTeam) }}sml.jpg">
Run Code Online (Sandbox Code Playgroud)

如果要在Controller或Model中使用它,则必须添加命名空间,其Str位于顶部:

use Illuminate\Support\Str;
Run Code Online (Sandbox Code Playgroud)

之后,您可以在没有名称空间前缀的情况下调用它:

Str::lower($test);
Run Code Online (Sandbox Code Playgroud)