/** * 处理模板字符串,并返回编译后内容 * @param string $string * @param string $cache_key * @param array $args * @return string */ function tplString($string, $cache_key, &$args = array()) { global $_FANWE; if (!empty($args)) { foreach ($args as $key => $val) { ${$key} =& $args[$key]; } } if (empty($cache_key)) { $cache_key = md5($string); } $cache_file = PUBLIC_ROOT . './data/tpl/caches/' . $cache_key . '.htm'; if (!file_exists($cache_file)) { if (makeDir(preg_replace("/^(.*)\\/.*?\\.htm\$/is", "\\1", $cache_file))) { require_once fimport('class/template'); $template = new Template(); $string = $template->parseString($string); writeFile($cache_file, $string); } } ob_start(); include $cache_file; $content = ob_get_contents(); ob_end_clean(); require_once fimport('dynamic/common'); $module_dynamic = ''; if (defined('MODULE_NAME') && MODULE_NAME != '') { $module_dynamic = fimport('dynamic/' . MODULE_NAME); } if (!empty($module_dynamic) && file_exists($module_dynamic)) { require_once $module_dynamic; } $content = preg_replace('/<!--dynamic\\s+(.+?)(?:|\\sargs=(.*?))-->/ies', "\\1('\\2');", $content); //格式化会员关注 express($content); formatUserFollowTags($content); contentParse($content); return $content; }