У меня есть 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}
мне нужно что-то подобное, чтобы получить значение из массива.