[英]Laravel 9 Inline Blade Template Rendering; Rendering constant instead of variables
Laravel 9 中有一个新功能允许内联刀片模板渲染。 链接: https ://laravel.com/docs/9.x/blade#rendering-inline-blade-templates
假设我有一个存储在数据库中的值(作为电子邮件的正文),我想从数据库中呈现为电子邮件。
例如<p> Dear {{$first_name}} {{$last_name}} </p>
我会用这个;
Blade::render($body, ['first_name' => $first_name, 'last_name' => $last_name]);
有了这个,我可以输出类似的东西;
Dear John Doe
在发送的电子邮件正文中。
但是,如果我想使用<p> Dear {{first_name}} {{last_name}} </p>
在我存储在数据库中的电子邮件模板中(没有美元符号,使其成为常量而不是变量)。 如何使用 Blade::render() 渲染这个常量?
我认为在将输出发送到刀片之前,您必须操作模板。
Laravel 有很多助手可以做这样的事情。
use Illuminate\Support\Str;
$string = '{{first_name}} {{last_name}}';
$replaced = Str::replace('{{', '{{$', $string);
// in $replaced you'll have '{{$first_name}} {{$last_name}}'
上面的代码将完成这项工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.