求助supesite中的一段代码

来源:互联网 发布:淘宝上可以买假b超单吗 编辑:程序博客网 时间:2024/05/01 17:52
下面是一个php模板解析函数,这些正则表达式都是些什么意思,看起来很辛苦,请高手指点一下,先谢谢啦!
  1. function parse_template($template,$cacheFile='')   
  2. {   
  3. $content = file_get_contents($template);   
  4. $content = preg_replace('//{/*([^/{/}]*)/*/}/','',$content);   
  5. $content = preg_replace('//$([A-Za-z0-9_]+)/','$set[/'//1/']',$content);   
  6. $content = preg_replace('//$/[([A-Za-z0-9_]+)/]/','$//1',$content);   
  7. $content = preg_replace('//{/$([A-Za-z0-9_/[/]/'"]+)/}/','<? echo $//1; ?>',$content);   
  8. $content = preg_replace('//{include/(([^/{/}]+)/)/}/','<? include //1; ?>',$content);   
  9. $content = preg_replace('//{echofile/(([^/{/}]+)/)/}/','<? echo file_get_contents(//1); ?>',$content);   
  10. $content = preg_replace('//{code/(([^/{/}]+)/)/}/','<? //1; ?>',$content);   
  11. $content = preg_replace('//{if/(([^/{/}]+)/)/}/','<? if (//1) { ?>',$content);   
  12. $content = preg_replace('//{elseif/(([^/{/}]+)/)/}/','<? } elseif(//1) { ?>',$content);   
  13. $content = preg_replace('//{while/(([^/{/}]+)/)/}/','<? while (//1) { ?>',$content);   
  14. $content = preg_replace('//{foreach/(([^/{/}]+)/)/}/','<? foreach (//1) { ?>',$content);   
  15. $content = str_replace(array('{else}','{/if}','{/while}','{/foreach}'),array('<? }else{ ?>','<? } ?>','<? } ?>','<? } ?>'),$content);   
  16. if (preg_match_all('//{template/(([^/{/}]+)/)/}/',$content,$tplName))   
  17. {   
  18.   foreach ($tplName[1] as $value$tplContent[] = parse_template(eval('return '.$value.';'));   
  19.   $content = str_replace($tplName[0],$tplContent,$content);   
  20. }   
  21. if ('' == $cacheFilereturn $content;   
  22. @file_put_contents($cacheFile,'<? true===$inTemplate || exit(/'非法访问!/'); ?>'.$content);   
  23. }
原创粉丝点击