Larvavel 5语言文件与HTML <br>


larvavel 5 language file with html <br>

我有一个按钮在我的网站,文本应该在2行。按钮中的文本由翻译功能trans()使用语言文件提供的内容填充。

现在我面临的问题是,当我在语言文件中输入HTML(在本例中为<br>)时,它将被转义而不被解析。

资源/lang/en/messages.php

return [
'iamaclown' = 'I am a<br>clown', 
//...
]; 

资源/视图/foo.blade.php

<button>{{ trans( 'messages.iamaclown' ) }}</button>

这给了我输出

I am a<br> clown

但是我想

I am a 
clown

有办法做到这一点吗?

要显示未转义的数据,请将trans( 'messages.iamaclown' )包裹在

{!! trans( 'messages.iamaclown' ) !!}

默认情况下,为了防止XSS攻击,Blade的{{ }}语句会自动通过PHP的htmlentities函数发送。

如果您不希望您的数据被转义,您可以使用以下语法:

The name of the website is, {!! $websiteName!!}.

注意:在回显应用程序用户提供的内容时要非常小心。始终使用双花括号语法转义内容中的任何HTML实体。