我有这样的:如何在{!!中调用变量!!}在Laravel 5.1中?
<title>{!!Config::get('lang_en.title')!!}</title>
我想做的事情somethnig这样的:
<title>{!!Config::get('lang_{{$language}}.title')!!}</title>
这可能吗?
我有这样的:如何在{!!中调用变量!!}在Laravel 5.1中?
<title>{!!Config::get('lang_en.title')!!}</title>
我想做的事情somethnig这样的:
<title>{!!Config::get('lang_{{$language}}.title')!!}</title>
这可能吗?
我认为你需要了解的东西一般就是里面{!!
!!}
什么是正常的PHP,而不是刀片模板。
所以,你会串连变量以同样的方式,你会在PHP中,作为您接受的答案显示:
'lang_' . $language . '.title'
基本上{!!
X !!}
被转换为<?php echo
X ; ?>
而且{{
X }}
被转换到<?php echo htmlentities(
X ); ?>
{{ }}
更安全,如果字符串包含用户输入,应始终使用它。如果字符串包含HTML,则应使用{!! !!}
。如果它是两者的混合呢?
然后您应该使用{!! !!}
,以便HTML可以工作,但用e()
函数(例如,
// In the controller
$string = '<span>' . e($username) . '</span>';
// In the view
{!! $string !!}
e()
只是Laravel简写htmlentities()
。
谢谢你的回答。所以,这意味着** {{X}} **比** {!!}更安全。 X !!}** ? –
@YasenIvanov不客气。对,那是正确的。但是当然,您不能将HTML放在{{}}中。我更新了答案,以显示在这种情况下你可以做什么 – andrewtweber
通过去除大括号试试这个
{!!Config::get('lang_' . $language . '.title')!!}
和附加价值作为字符串
这既不工作也不工作 –
@YasenIvanov {!! Config: :get('lang_en.title')!!}它工作吗? –
检查转换后的php文件中写入的内容。 – mimo
尝试<?php echo Config :: get('lang _'。$ language。'。title');?> –
它没有工作.. –