🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**文件:templates.class.php** 属于解析式模板类,通过获得标签位置进行内容替换,数组$rules用于存储模板标签的解析规则。 #### * 常用方法: 1、private function _parse($string) 解析标签; 2、private function _compile() 生成缓存,第二次不需要解析模板; 3、public function view() 将模板内容在页面中显示。 #### * 使用步骤: **1、载入模板:** ~~~ require $this->tpl('index'); ~~~ **2、初始化:** ~~~ $ins = new template($tplName,$path,$cachepath); //传入文件名称,文件初始加载路径,文件缓存路径。 ~~~ **3、解析标签** ~~~ foreach($this->rules as $key => $value){ //使用正则匹配标签及其对应的解析规则,并且进行替换 if(is_array($value)){ $string = preg_replace_callback($key, create_function( '$data', '$data = '.$value[1].'>=0?$data['.$value[1].']:$data; return tag::'.$value[0].'( $data );'), $string); }else{ $string = preg_replace($key, $value, $string); } } ~~~ **4、显示或保存为HTML** ~~~ return $ins->view(); ~~~