Blade - 打印变量到变量

Blade - Print variable into variable

我正在尝试将一个变量打印到 blade 模板中的另一个变量中。我有一个来自数据库的变量,其中包含来自另一个变量的 "dynamic" 数据。

示例:

$foo = 'user';
$bar = 'Hello {{$foo}}, how are you?';

在 blade 我这样做:

{!! $bar !!}

但结果是:

Hello {{$foo}}, how are you?

我尝试使用 {{}} 但结果是一样的。

我无法连接两个变量。例如:

$foo = 'user';
$bar = 'Hello ' . $foo . ', how are you?';

不可能,因为我无法控制变量,它们是从数据库动态填充的。

任何idea/suggestion?

谢谢

如果输入不是直接来自用户,则使用eval函数,并删除{{...}}双大括号。您可以在 .blade.php 文件

中使用以下代码
@php
    $foo = 'user';
    $bar = eval('return "Hello $foo, how are you?";');
    echo $bar;
@endphp

您将得到输出

Hello user, how are you?

我认为这可能已经晚了,但你可以考虑 sprintf()

    $name="Paras";
    $greeting=sprintf("Hello $name",$name);

您可以根据我们的喜好进行一些更改。

$foo = 'user';
$bar = "Hello {$foo}, how are you?";

然后在blade你可以这样做:

{!! $bar !!}