массив в строку при разборе шаблона - PullRequest
0 голосов
/ 16 марта 2019

У меня есть 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}

мне нужно что-то подобное, чтобы получить значение из массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...