我正在创建一个函数来解析模板系统中的文本,并添加相应的值。
例如,用户可能会输入hi [[first_name]]
,[[first_name]]
部分将替换为实际的名字。
不知何故,我解析了这个并最终得到了一个看起来像这样的文本:
hi $info['first_name']
以上就像文本一样,我怎样才能真正使$ info ['first_name']成为值(我已经有了那个数组,但我不知道如何将字符串转换为PHP变量)
谢谢!
答案 0 :(得分:1)
使用简单的str_replace
函数:
$str = "hi [[first_name]]";
foreach (array_keys($info) as $key) {
$str = str_replace("[[".$key."]]", $info[$key], $str);
}
echo $str;
答案 1 :(得分:0)
str_replace("[[first_name]]", $info['first_name'], 'hi [[first_name]]');
您尚未共享代码,但可以打印变量名称而不是其值。
答案 2 :(得分:0)
<?php
$myTemplate = "hi [[first_name]], how are you this fine [[day_of_week]]?";
$myData = array(
'[[first_name]]' => 'James'
,'[[day_of_week]]' => 'Friday'
);
echo str_replace(array_keys($myData), array_values($myData), $myTemplate);
?>