在Laravel中将刀片的变量大写

7

我曾经经常使用Smarty,现在转向Laravel,但我错过了一些非常有用的东西。 您的变量模板中的修改

假设我有一个分配为{{$var}}的变量。 Laravel有没有一种方法将其设置为大写? 类似这样:{{$var|upper}}

可悲的是,我没有找到任何相关文档。

4个回答

13

1
好的,我想让整个单词都大写,所以第二个答案是正确的。谢谢! - Baldráni
@Baldráni 我会在帖子中保留两者,以防有人需要,没问题! :) - Alexandre Beaudet
1
请记住,Blade 仅是 PHP,因此您应该能够在 {{ }}{!! !!} 标签中使用任何 PHP 或 Laravel 函数。 - user1669496
这并不是回答,因为答案说要大写。大写只意味着首字母大写。所以如果你使用ucfirst函数来处理变量而不是引用文本,你会得到一个双点错误。 - rüff0

11

可以在这里使用PHP原生函数

{{ strtoupper($currency) }} 

{{ ucfirst($interval) }}

测试通过


为什么你会在4年后以相同的答案回答正确的问题时评论呢? :') - Baldráni
2
@Baldráni 在 Blade 中这个不起作用(Str::upper($value)),你可以使用 PHP 核心函数。我认为这可能对某些人有用 - 所以发布并点赞。 - mujuonly

1
你也可以在AppServiceProvider.php中创建自定义的Blade指令。
示例:
public function boot() {

    Blade::directive('lang_u', function ($s) {
        return "<?php echo ucfirst(trans($s)); ?>";
    });

}

不要忘记在AppServiceProvider的顶部导入Blade。
use Illuminate\Support\Facades\Blade;

然后在您的Blade模板中像这样使用它:
@lang_u('index.section_h2')

来源: Laravel Blade中如何大写第一个字母

更多信息:

https://laravel.com/docs/5.8/blade#extending-blade


0

双引号的工作方式:

{{ucfirst(trans("$var"))}}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接