0

我在 $subject 变量中有以下字符串

<p>{{headline}}</p>

我有一个变量$headline="Hello World"

你猜我想{{headline}}Hello Worldpreg-replace 替换。

方法必须是动态的,因为它只是headline.

4

1 回答 1

4
$vars = array(
    'headline' => 'foo'
);

echo preg_replace_callback('/\{\{(\w+)\}\}/', function (array $m) use ($vars) {
    return $vars[$m[1]];
}, '<p>{{headline}}</p>');

您可能真的想研究具有类似语法但基于适当解析器的现有模板系统,例如http://twig.sensiolabs.org小胡子也基本上已经做了同样的事情。

于 2013-06-27T13:32:33.833 回答