class Content{
public $vars = array();
public $content;
public $parse_tpl;
// функция обработки тегов {TAGS}
public function set($name, $val = "") {
if(!is_array($val)) {
$this->vars['{' . $name . '}'] = $val;
} elseif(is_array($val)) {
foreach($val as $k => $v) {
$this->vars['{' . $name . '}'] .= $v;
}
} else {
$this->vars[$name] = "";
}
}
// Функция обработки тегов изображений {IMG_№}
public function img($name, $val = "", $id = "") {
if(!is_array($val)) {
$this->vars['{' . $name.'_'.$id . '}'] = $val;
} elseif(is_array($val)) {
foreach($val as $k => $v) {
$this->vars['{' . $name.'_'.$id . '}'] .= $v;
}
} else {
$this->vars[$name] = "";
}
}
// функция обработки шаблонов
public function parse($tpl) {
$this->parse_tpl = file_get_contents($tpl);
foreach($this->vars as $k => $v) {
$this->parse_tpl = str_replace($k, $v, $this->parse_tpl);
}
return $this->parse_tpl;
}
// функция обработки основного шаблона {main.tpl}
public function tpl($tpl) {
$this->content = file_get_contents($tpl);
}
// функция для подключения шаблонов {include=file.tpl}
public function out_content() {
preg_match_all("/\{include\=(.*?[.tpl])\}/is", $this->content, $mas);
foreach($mas[0] as $k => $v) {
$this->content = str_replace($mas[0][$k], $this->parse($mas[1][$k]), $this->content);
}
foreach($this->vars as $key => $val) {
$this->content = str_replace($key, $val, $this->content);
}
echo $this->content;
}
// Функция для обработки содержимого в тегах []сожержимое[/]
public function set_block($b_tag, $b_true_or_false) {
if($b_true_or_false) {
$this->content = preg_replace("/\[{$b_tag}\](.*?)\[\/{$b_tag}\]/is", "$1", $this->content);
} else {
$this->content = preg_replace("/\[{$b_tag}\](.*?)\[\/{$b_tag}\]/is", "", $this->content);
}
}
}
$content = new content();