这个怎么样?
$string = "Hi, I am {{name}}. This is an {{undefined_variable}}";
foreach ($meta as $key => $value) {
$string = str_replace('{{' . $key . '}}', $value, $string);
}
或者,如果您可以将{{name}}
等直接作为 中的键$meta
,则:
$string = "Hi, I am {{name}}. This is an {{undefined_variable}}";
$string = str_replace(array_keys($meta), array_values($meta), $string);
$meta
或者,{{...}}
如果您不能将它们放在原始密钥中,您可以创建并缓存一个密钥:
$metaTokens = array();
foreach ($meta as $key => $value) {
$metaTokens['{{' . $key . '}}'] = $value;
}
然后,如果你想简单地隐藏未定义的变量,现在你应该已经填写了所有已定义的变量,所以里面的其他任何东西都{{..}}
应该是一个未定义的变量:
$string = preg_replace('/{{.+?}}/', '', $string);