TL;博士:我正在寻找像" template_from_string"在Twig。
长版(包括用例):
我有一个类似" Hello | NAME_OF_RECIPIENT | lorem ipsum ...更多东西..更多动态数据......"我正在寻找一种很好的方法,使用Blade的功能集,如指令和变量等,用动态数据替换 | NAME_OF_RECIPIENT | 。 我找到了Blade的compileString方法,该方法返回已编译的php脚本,很好,但我希望字符串有替换(即" Hello Peter")。
Laravel版本是5.1。
答案 0 :(得分:3)
Laravel提供本地化服务。您可以使用此服务来实现您想要的功能,如果您决定将来使用多种语言,您可以轻松实现这一目标。看看localization documentation。
您可以将数据传递到语言字符串,就像在“替换语言行中的参数”部分中所做的那样。然后使用 trans 帮助函数在Blade上显示它。
{{ trans('welcome', ['name' => 'Peter']) }}
答案 1 :(得分:1)
在您的语言文件中:
return [
"message" => "Hello :name, you are :age years old!",
];
从您的刀片模板:
@lang('message', [
'name' => 'Peter',
'age' => 23,
])
将显示:
"Hello Peter, you are 23 years old!"
Laravel将使用提供的名称自动替换:name
,并使用提供的年龄自动替换age
。您可以为任何数量的变量执行此操作。
您可以在Laravel localization docs中详细了解它,但由于某种原因,我找不到任何@lang
功能。