现在我有了这段代码。
<?php
error_reporting(E_ALL);
require_once('content_config.php');
function callback($buffer)
{
// replace all the apples with oranges
foreach ($config as $key => $value)
{
$buffer = str_replace($key, $value, $buffer);
}
return $buffer;
}
ob_start("callback");
?>
some content
<?php
ob_end_flush();
?>
<_>在content_config.php文件中:
$config['SiteName'] = 'MySiteName';
$config['SiteAuthor'] = 'thatGuy';
我想要做的是我想用配置数组的键替换占位符及其值。
现在,它不起作用:(
答案 0 :(得分:2)
你的回调函数无法看到$ config。您必须将其作为参数传递或将其声明为全局
global $config;
http://php.net/manual/en/language.variables.scope.php
作为旁白,您可以使用带有str_replace
的数组$buffer = str_replace(array_keys($config), array_values($config), $buffer);
这避免了循环,这总是好的。