Laravel 4 Blade,从字符串中解析变量
我想实现这样的目标:Laravel 4 Blade,从字符串中解析变量,laravel-4,blade,Laravel 4,Blade,我想实现这样的目标: $data['username'] = "John"; $data['msg'] = "Hey {{$username}}, blab blab blab"; View::make('view.name')->with($data); // Blade {{ $msg }} // Prints Hey John, blab blab blab 有什么办法吗 编辑: 我正在尝试实现类似“mailchimp”的消息传递系统,用户(这只是管理员端,到目前为止管理员只
$data['username'] = "John";
$data['msg'] = "Hey {{$username}}, blab blab blab";
View::make('view.name')->with($data);
// Blade
{{ $msg }}
// Prints
Hey John, blab blab blab
有什么办法吗
编辑:
我正在尝试实现类似“mailchimp”的消息传递系统,用户(这只是管理员端,到目前为止管理员只是我,所以我可以忽略这里的一些安全检查)可以向消息体添加变量(我知道这些变量将在视图范围内可用)。我使用它来提供支持,因此,例如,我可能希望发送指向用户配置文件的链接:
Hey {{first_name}},
This is a link to your profile: <a href="/users/{{user_guid}}">profile</a>
但是,如果用户名是由用户定义的,而不是硬记录的,那么您应该在blade中这样打印它以防止XSS错误
{{{ $msg }}}
编辑:
你能这样做吗
$data['msg'] = "Hey %s, blab blab blab";
{{{ sprintf($msg, $username) }}}
您可以使用View::make执行以下操作:
$string = View::make("view.name", array("username" => "user", "msg" => "blah blah"));
稍后您可以执行以下操作:
$parsedView = $string->render();
工作起来很有魅力!:) 谢谢@Shift-Exchange,虽然我不能在我的案例中使用这种语法,但我已经在我的问题中添加了澄清。是的,这更接近了,尽管在编写带有多个变量的消息时很难维护。
$string = View::make("view.name", array("username" => "user", "msg" => "blah blah"));
$parsedView = $string->render();