在php中替换输出中的变量

时间:2010-05-19 23:54:35

标签: php

现在我有了这段代码。

<?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';

我想要做的是我想用配置数组的键替换占位符及其值。

现在,它不起作用:(

1 个答案:

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

这避免了循环,这总是好的。