preg_replace 带数组索引

preg_replace with array index

我有一个关联数组和一个文本,里面有变量名,用括号括起来,如下所示:

$message = "The value of var is: {var} ...-";

我的数组是这样的:

$array=array('var'=>$var);

(显然这个数组可以更大,我不知道里面的变量名)。这是我正在尝试做的事情:我想用我的数组中的值替换消息中的 {var},如下所示:

$newMessage = preg_replace('#\{(.+)\}#',$array[""],$message);

有人知道怎么做吗?

非常感谢!

帮助了我,这是我用来解决问题的代码:

$newMessage=preg_replace_callback('#\{(.+)\}#',function($match)use($array){
    return $array[$match[1]];
},$message);