php 将变量放入从数组加载的字符串中
php put variable into string loaded from array
我有一个 json 文件,其中包含一些用于回显的字符串。
现在我想在这些字符串之间放置变量内容,例如:
$event_config = json_decode(file_get_contents("event_config.json"), TRUE);
$output_string = $event_config['e_header']['e_welcome_text'];
$name = value_lookup("f_personalien_vorname");
echo("Hello {$name},<br>Thanks. We have just received your query<br>");
echo ($output_string);
这个工作正常,{$name}
被正确替换为 $name
中存储的内容。
echo("Hello {$name},<br>Thanks. We have just received your query<br>");
具有从 json 加载的相同字符串的此版本无法正常工作。而不是 {$name}
被替换它只是打印整个字符串。
echo ($output_string);
作为参考,我的 json 目前看起来像:
{
"e_header": {
"e_welcome_text": "Hello {$name},<br><br>Thanks. We have just received your query<br>",
"e_information": "Some string"
}
}
有人对此有想法吗?
您应该转义引号并追加以传递变量。
$event_config = json_decode(file_get_contents("event_config.json"), TRUE);
$output_string = $event_config['e_header']['e_welcome_text'];
$name = value_lookup("f_personalien_vorname");
echo("Hello " . $name . ",<br>Thanks. We have just received your query<be>");
echo($output_string);
解决了。
感谢 @El_Vanja 给我这个提示。
我将 json 更改为:
{
"e_header": {
"e_welcome_text": "Hello {{name}},<br><br>Thanks. We have just received your query<br>",
"e_information": "Some string"
}
}
注意双括号 {{name}}
。
然后想出了以下替换上面的表达式。
$output_string = $event_config['e_header']['e_welcome_text'];
echo(str_replace('{{name}}', $name, $output_string));
我有一个 json 文件,其中包含一些用于回显的字符串。 现在我想在这些字符串之间放置变量内容,例如:
$event_config = json_decode(file_get_contents("event_config.json"), TRUE);
$output_string = $event_config['e_header']['e_welcome_text'];
$name = value_lookup("f_personalien_vorname");
echo("Hello {$name},<br>Thanks. We have just received your query<br>");
echo ($output_string);
这个工作正常,{$name}
被正确替换为 $name
中存储的内容。
echo("Hello {$name},<br>Thanks. We have just received your query<br>");
具有从 json 加载的相同字符串的此版本无法正常工作。而不是 {$name}
被替换它只是打印整个字符串。
echo ($output_string);
作为参考,我的 json 目前看起来像:
{
"e_header": {
"e_welcome_text": "Hello {$name},<br><br>Thanks. We have just received your query<br>",
"e_information": "Some string"
}
}
有人对此有想法吗?
您应该转义引号并追加以传递变量。
$event_config = json_decode(file_get_contents("event_config.json"), TRUE);
$output_string = $event_config['e_header']['e_welcome_text'];
$name = value_lookup("f_personalien_vorname");
echo("Hello " . $name . ",<br>Thanks. We have just received your query<be>");
echo($output_string);
解决了。 感谢 @El_Vanja 给我这个提示。 我将 json 更改为:
{
"e_header": {
"e_welcome_text": "Hello {{name}},<br><br>Thanks. We have just received your query<br>",
"e_information": "Some string"
}
}
注意双括号 {{name}}
。
然后想出了以下替换上面的表达式。
$output_string = $event_config['e_header']['e_welcome_text'];
echo(str_replace('{{name}}', $name, $output_string));