Сами шаблоны php формата....все работает хорошо, кроме обработки php-скрипта в самом шаблоне.
Шаблон выглядит так:
[this:index]
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>[var:page_title]</title>
</head>
<body>
[com:head]
[var:page_name]
<br />
[var:content]
<br />
{banner:banner_name}
<?php
echo "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk";
?>
</body>
</html>
теги типа [] и {} грузит зашибись)
загружаю шаблон через file_get_contents, ясен пень он грузит не обработаный шаблон...т.е код echo "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"; не обработан и не выводится в результате.
ясно, что можно грузить шаблон по url'у через file_get_contents...тогда вроде все ок, но эта операция достаточно длительная и так делать как-то через ж*пу)
Помогите справится с этой проблемой плз. Есть ли методы подгрузить уже обработаный шаблон. Либо сделать что-то вроде спец.тегов для php кода...что я уже пробовал, но eval впихнуть невозможно туда куда нужно)
Спустя 28 минут, 12 секунд (21.06.2012 - 17:52) Игорь_Vasinsky написал(а):
eval()
Спустя 10 минут, 13 секунд (21.06.2012 - 18:02) Jekel написал(а):
как мне eval всунуть туда куда надо?
его присвоить нельзя...без предобработки
была попытка:
его присвоить нельзя...без предобработки
была попытка:
function eval_php(){
preg_match_all('#\[php\](.+?)\[\/php]#is', $this->tpl_content, $this->php_code);
if(count($this->php_code)<1) return false;
foreach($this->php_code[1] as $key => $val){
$klo = eval($val);
$this->tpl_content = str_replace($this->php_code[0][$key], $klo, $this->tpl_content);
}
}
Спустя 6 минут, 33 секунды (21.06.2012 - 18:09) Игорь_Vasinsky написал(а):
echo eval(file_get_contents($file));
Спустя 4 минуты, 8 секунд (21.06.2012 - 18:13) alexbel2404 написал(а):
а не нужно использовать php код в шаблоне) формируй все до его вызова
Спустя 5 минут, 26 секунд (21.06.2012 - 18:18) alexbel2404 написал(а):
или
а дальше уже изменяй свои тэги. Так кстати безопаснее будет, чем eval() юзать
ob_start();
include 'file.php';
$html = ob_get_contents();
ob_end_clean();
а дальше уже изменяй свои тэги. Так кстати безопаснее будет, чем eval() юзать
Спустя 10 минут, 51 секунда (21.06.2012 - 18:29) Jekel написал(а):
Цитата |
а не нужно использовать php код в шаблоне) формируй все до его вызова |
неее, ну ясно-понятно, но хочется шаблоны гибкими сделать)
Цитата |
ob_start(); include 'file.php'; $html = ob_get_contents(); ob_end_clean(); |
вот это то, что нужно! работает отлично, спасибо большое