繁体   English   中英

Laravel 9 内联刀片模板渲染; 呈现常量而不是变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM