Подскажите, есть ли способ для подстановки значений переменных в загружаемый html ? Допустим, имеет template.html :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>УХХХХ</title>
<link rel="stylesheet" href="../../template/css/style.css">
</head>
<body>
<?=$html?>
</body>
<script src="../../template/js/print.js"></script>-->
</html>
и необходимо вставить в место $html какой-либо кусок,переданный как аргумент функции, например :
function somefunction($html)
{
echo file_get_contents('template.html');
}
Есть возможность как это реализовать встроенными функциями или всё таки надо писать свой парсер или использовать шаблонизатор?
Примерно так устроена шаблонизация во всех шаблонизаторах на пыхе. Просто выполните код нативно. Ведь пыха сама по себе и есть шаблонизатор. Родилась такой и такой остаётся по сей день.
$tmpl = '
<html><?= $foo ?></html>
';
function render($tmpl, array $params = []): string
{
ob_start();
extract($params);
eval('?>' . $tmpl . '<?php');
return ob_get_clean();
}
echo render($tmpl, ['foo' => 'bar']);
Результат:
<html>bar</html>
Если будете хранить шаблоны в php файлах, то eval можно будет заменить на require. Что по сути одно и тоже.
function somefunction($html)
{
$htmlForAdd = '<p>Example</p>'
$html = str_replace('<?=$html?>', $htmlForAdd, $html )
echo file_get_contents('template.html');
}
Мне кажется, что вам подойдет банальный include (http://php.net/manual/ru/function.include.php)
function somefunction($html)
{
include('template.html');
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости