喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

上一主题 下一主题
 20  1/2  1  2  > 
     
标题: [原创] 没事玩写的30行的模板功能很简单  
 
zshtom
中级会员
Rank: 3Rank: 3
初级会员



UID 66877
精华 0
积分 240
帖子 299
金钱 240 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-9-23
状态 离线
没事玩写的30行的模板功能很简单

<?php
/**
* @author zshtom
* @copyright zshtom 0304681@126.com 2007-2008
*/
function zTemplate($filename, $templatedir='', $compliedir=''){
        $comtime = @filemtime($compliedir.md5($filename).".php");//编译时间
        $temtime = @filemtime($templatedir.$filename);//模板时间
        if($temtime > $comtime){//是否重新写入模板
                $str = file_get_contents($templatedir.$filename);
                $str = preg_replace('|<!--{if (.+)}-->|isU', '<?php if(\\1){ ?>', $str);
                $str = preg_replace('|<!--{/if}-->|isU', '<?php } ?>', $str);
                $str = preg_replace('|{\$(.*)}|isU', '<?php echo $\\1; ?>', $str);
                $str = preg_replace('|<!--{else}-->|isU', '<?php }else{ ?>', $str);
                $str = preg_replace('|<!--{elseif (.*)}-->|isU', '<?php }elseif(\\1){ ?>', $str);
                $str = preg_replace('|{eval (.*)}|isU', '<?php \\1; ?>', $str);
                $str = preg_replace('|{echo (.*)}|isU', '<?php echo \\1; ?>', $str);
                $str = preg_replace('|{include_php (.*)}|isU', '<?php if(is_file("\\1.php")){ include_once("\\1.php");} ?>', $str);
                $str = preg_replace('|{include_htm(.*) (.*)}|isU', '<?php if(is_file("\\2.htm\\1")){ $str = file_get_contents("\\2.htm\\1"); echo $str;} ?>', $str);
                $str = preg_replace('|<!--{loop (.*) (.*) (.*)}-->|isU', '<?php if(is_array(\\1)){ foreach(\\1 as \\2 => \\3){  ?>', $str);
                $str = preg_replace('|<!--{/loop}-->|isU', '<?php }} ?>', $str);
                $str = preg_replace('|{template (.*)}|isU', '<?php include_once(zTemplate("\\1", "'.$templatedir.'", "'.$compliedir.'")); ?>', $str);
                @file_put_contents($compliedir.md5($filename).'.php', $str);
        }
        return $compliedir.md5($filename).'.php';//返回模板结果
}
include_once(zTemplate('template.html','template/', 'templates/'));
?>


用法简单 和dz的用法一样 没有加入语言功能 呵呵 可以自己改 ,没有测bug

<!--{if $val == 's'}-->
{$vals}
<!--{elseif $val == 'ss'}-->
{$vals}
<!--{/if}-->
<br />
{echo "des"}<br />
{$zsh}
<!--{loop $array $key $val}-->
{$val}<br />{$zsh}
<!--{/loop}-->
sed
{template test.htm}
hahah<br />


 附件: 您所在的用户组无法下载或查看附件



什么才是优秀的程序员呢?
2007-10-22 10:01 PM#1
查看资料  发短消息  顶部
 
zshtom
中级会员
Rank: 3Rank: 3
初级会员



UID 66877
精华 0
积分 240
帖子 299
金钱 240 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-9-23
状态 离线
[推荐阅读] WINDOWS下远程登陆LINUX桌面
没人顶 自己顶 。。。。



什么才是优秀的程序员呢?
2007-10-23 10:26 AM#2
查看资料  发短消息  顶部
 
zshtom
中级会员
Rank: 3Rank: 3
初级会员



UID 66877
精华 0
积分 240
帖子 299
金钱 240 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-9-23
状态 离线
[推荐阅读] 过瘾
没人理。。 哇哇哭



什么才是优秀的程序员呢?
2007-10-25 11:57 AM#3
查看资料  发短消息  顶部
 
songlv (超级版主)
金牌会员
Rank: 6Rank: 6


UID 73828
精华 0
积分 2063
帖子 667
金钱 2059 喜悦币
威望 0
人脉 4
阅读权限 70
注册 2006-5-22
状态 离线
[推荐阅读] 正则一直没搞定
我顶下吧

这行是凑字数的




倾城倾国  
2007-10-25 12:44 PM#4
查看资料  访问主页  Blog  发短消息  顶部
 
zshtom
中级会员
Rank: 3Rank: 3
初级会员



UID 66877
精华 0
积分 240
帖子 299
金钱 240 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-9-23
状态 离线
[推荐阅读] mysql full join问题
。。。。。。



什么才是优秀的程序员呢?
2007-10-25 07:39 PM#5
查看资料  发短消息  顶部
 
奶瓶 (NP博士)
版主
Rank: 7Rank: 7Rank: 7
老仙


UID 52707
精华 4
积分 5354
帖子 5859
金钱 5304 喜悦币
威望 50
人脉 0
阅读权限 100
注册 2004-11-22
来自 北大中文系
状态 在线
[推荐阅读] 用如何smarty时处理核对框?
我也凑一下,嘿嘿




图片包子,注册送100包子!
2007-10-28 06:56 PM#6
查看资料  访问主页  Blog  发短消息  QQ  ICQ 状态  Yahoo!  顶部
 
songlv (超级版主)
金牌会员
Rank: 6Rank: 6


UID 73828
精华 0
积分 2063
帖子 667
金钱 2059 喜悦币
威望 0
人脉 4
阅读权限 70
注册 2006-5-22
状态 离线
[推荐阅读] 我也想买手机了
大家都来臭下啊



倾城倾国  
2007-10-29 02:06 PM#7
查看资料  访问主页  Blog  发短消息  顶部
 
songlv (超级版主)
金牌会员
Rank: 6Rank: 6


UID 73828
精华 0
积分 2063
帖子 667
金钱 2059 喜悦币
威望 0
人脉 4
阅读权限 70
注册 2006-5-22
状态 离线
[推荐阅读] 北京招聘中级PHP工程师,月薪4000-6000
错了,大家都来丑下啊



倾城倾国  
2007-10-29 02:07 PM#8
查看资料  访问主页  Blog  发短消息  顶部
 
songlv (超级版主)
金牌会员
Rank: 6Rank: 6


UID 73828
精华 0
积分 2063
帖子 667
金钱 2059 喜悦币
威望 0
人脉 4
阅读权限 70
注册 2006-5-22
状态 离线
[推荐阅读] FLASH轮换广告用数据库怎么调用啊,求救
错了,大家都来瞅下啊



倾城倾国  
2007-10-29 02:08 PM#9
查看资料  访问主页  Blog  发短消息  顶部
 
zshtom
中级会员
Rank: 3Rank: 3
初级会员



UID 66877
精华 0
积分 240
帖子 299
金钱 240 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-9-23
状态 离线
[推荐阅读] 我也来找工作,(phper供应)
晕倒 。。。。 咋能打字错误呢



什么才是优秀的程序员呢?
2007-10-29 05:46 PM#10
查看资料  发短消息  顶部
 20  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.037903 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP