我有2个文件,分别称为index.php和home.html。
这是index.php的内容:
$language = [
'say' => 'Good Bye.',
];
function template($html)
{
global $tmpl;
global $language;
$tmpl['static'] = 'Example';
$tmpl['dynamic'] = $language;
$file = sprintf('%s.html', $html);
$f_skin = fopen($file, 'r');
$skin = @fread($f_skin, filesize($file));
fclose($f_skin);
return preg_replace_callback(
'/{\$([a-zA-Z0-9_]+)}/',
function($matches) {
global $tmpl; return (isset($tmpl[$matches[1]])?$tmpl[$matches[1]]:"");
}, $skin
);
}
echo template('home');
这是home.html内容:
<div class="tag">
{$static}
</div>
当我使用{$ static}时一切正常,但是,当我使用它时,出现错误:
{$dynamic['say']}
//or
{$dynamic->say}
我需要类似的东西才能从数组中获取价值。