$str = "Hello {{name}} welcome to {{company_name}}";
$array = ['name' => 'max', 'company_name' => 'Stack Exchange'];
如何使用数组值替换{{name}}和{{company_name}}。返回输出的任何php函数,例如
Hello max welcome to Stack Exchange
首先,用大括号括起来的搜索字段创建一个新数组:
$searchArray = array_map(function($value) {
return "{{" . $value . "}}";
}, array_keys($array));
现在,您有了一个包含要搜索的标记的数组,并且已经有了一个要用其替换标记的值的数组。
所以做一个简单的str_replace
:
echo str_replace($searchArray, $array, $str);
工作示例:https://3v4l.org/8tPZt
这是一个整齐的小函数:
function fillTemplate($templateString, array $searchReplaceArray) {
return str_replace(
array_map(function($value) { return "{{" . $value . "}}"; }, array_keys($searchReplaceArray)),
$searchReplaceArray,
$templateString
);
}
现在您可以这样称呼它:
echo fillTemplate(
"Hello {{name}} welcome to {{company_name}}",
['name' => 'max', 'company_name' => 'Stack Exchange']
);
// Hello max welcome to Stack Exchange
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句