它的模板:
Class View {
public static function ShowStaticPage($way) {
global $cfg;
ob_start();
include self::Get($way);
return ob_get_clean();
}
public static function getURL() {
global $cfg;
return empty($cfg['theme']) ? ROOT.'templates/Bootstrap/' : ROOT.'templates/'.$cfg['theme'].'/' ;
}
public static function getContent($file) {
global $cfg;
$theme_dir = self::getURL();
$input = file_get_contents($theme_dir.$file.'.tpl');
$regex_lng = "/\{(lng)\:((?:[0-9a-zA-Z\/]+))\}/";
$regex_tpl = "/\{(tpl)\:((?:[0-9a-zA-Z\/]+))\}/";
$input = preg_replace_callback($regex_lng, 'self::lng', $input);
$input = preg_replace_callback($regex_tpl, 'self::getContent', $input);
return $input;
}
public static function lng($caller) {
global $cfg, $lng;
return sprintf("%s",$lng[$param]);
}
}
在输入文件中,我有{tpl:tplfold1 / sometplnamethere}和{lng:login},我需要在解析时替换它。但是当我试图将tpl加载到另一个时,它会给出tpl" Array.tpl"的名称。我做错了什么?我知道,preg_replace_callback给出了数组但是如何得到这个名字?或者只是使用' getContent'?
重复每个名称