如何在Laravel Blade中将第一个字母大写

2022-08-30 10:22:21

我使用的是具有本地化功能的 laravel (5.1) 刀片模板引擎。

文件夹中有一个语言文件:messages.php/resources/lang/en/

return [
    'welcome' => 'welcome',

在我的边栏选项卡模板中,欢迎消息是使用以下方法调用的:trans

{{ trans('messages.welcome') }}

在某些情况下,我需要显示相同的消息,但首字母大写(“欢迎”)。我不想在翻译文件中使用重复的记录。

我该如何做到这一点?


答案 1

使用 PHP 的原生 ucfirst 函数:

{{ ucfirst(trans('messages.welcome')) }}

答案 2

将刀片指令添加到 app/Providers/AppServiceProvider 的 boot() 函数:

public function boot() {

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

}

这样,您就可以在刀片式服务器文件中使用以下内容:

@lang_u('messages.welcome')

哪些输出:欢迎

 

您正在@lang_u(“消息.欢迎”):)


推荐