PHP:字符串到实际值

时间:2011-11-11 18:38:40

标签: php

我正在创建一个函数来解析模板系统中的文本,并添加相应的值。

例如,用户可能会输入hi [[first_name]][[first_name]]部分将替换为实际的名字。

不知何故,我解析了这个并最终得到了一个看起来像这样的文本:

hi $info['first_name']

以上就像文本一样,我怎样才能真正使$ info ['first_name']成为值(我已经有了那个数组,但我不知道如何将字符串转换为PHP变量)

谢谢!

3 个答案:

答案 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);
?>