如何在Laravel本地化文件中使用HTML标记?

时间:2015-06-12 19:26:29

标签: php laravel blade laravel-localization

我试图利用Laravel的本地化功能,但我需要能够强调或强调一部分短语。将HTML标记插入语言文件会导致在输出到刀片时将其转义。

例如,这是我的语言文件条目:

return [
    'nav' => [
        'find' => '<strong>Find</strong> Your Home',
    ]
];

当我从刀片中调用它时:(我也试过使用三重括号。)

{{ trans('base.nav.find') }}

输出:

&lt;strong&gt;Find&lt;/strong&gt; Your Home

我可能会将措辞分开,如:

return [
    'nav' => [
        'fyh' => [
            'find' => 'Find',
            'yh'   => 'Your Home',
        ]
    ]
]

然后输出:

<strong>{{ trans('base.nav.fyh.find') }}</strong>{{ trans('base.nav.fyh.yh') }}

但这似乎有点矫枉过正。有更好的解决方案吗?

3 个答案:

答案 0 :(得分:89)

使用{!! !!}代替{{ }}来阻止转义:

{!! trans('nav.find') !!}

答案 1 :(得分:3)

使用@lang指令:

@lang('nav.find')

来源:Retrieving Translation Strings

答案 2 :(得分:0)

使用Laravel 5.6及更高版本,可以将__帮助程序与刀片语法一起使用:

{!! __('pagination.next') !!}

必须为分页刀片模板执行这些操作。