php模版解析类
<?php class Parser { private $_tpl; public function __construct($_tplFile) { if (! $this->_tpl = file_get_contents($_tplFile)) { exit('ERROR:模版文件读取错误'); } } private function parvar() { $_patten = '/<!--\s+\{$([\w]+)\}\s+-->/'; if (preg_match($_patten,$this->_tpl)) { $this->_tpl = preg_replace($_patten, "<?php echo $this->_vars[''];?>",$this->_tpl); } } private function parif(){ $_pattenif = '/<!--\s+\{if\s+$([\w]+)\}\s+-->/'; $_pattenElse = '/<!--\s+\{else\}\s+-->/'; $_pattenEndif = '/<!--\s+\{\/if\}\s+-->/'; if (preg_match($_pattenif,$this->_tpl)) { if (preg_match($_pattenEndif,$this->_tpl)) { $this->_tpl = preg_replace($_pattenif,"<?php if ($this->_vars['']){?>",$this->_tpl); $this->_tpl = preg_replace($_pattenEndif,"<?php } ?>",$this->_tpl); if (preg_match($_pattenElse,$this->_tpl)) { $this->_tpl = preg_replace($_pattenElse,"<?php }else{?>",$this->_tpl); } }else{ echo 'ERROR:IF语句没有关闭!'; } } }
接收模版文件内容后,构造方法,获取模版文件内容解析后用普通变量解析IF语句,之后解析模版文件生成编译文件。
免责声明
本站所有资源均由网友贡献或各大下载网站转载。请自行检查软件的完整性!本站所有资源仅供学习参考。请不要将它们用于商业目的。否则,一切后果由您负责!如有侵权,请联系我们删除。联系方式:admin@php.cn
相关文章

11Apr2023
PHP所有错误PHP 是一种非常受欢迎的服务器端脚本语言,用于开发动态的互联网应用程序。在 PHP 中,错误分为三大类:致命错误、警告和提示。对于 PHP 开发人员来说,了解所有错误类型和如何处理它们是非常重要的。1. 致命错误致命错误是最严重的 PHP 错误类型之一,当 PHP 脚本执行发生致命错误时,代码将会停止执行并返回一个致命错误的消息。不处理该错误会导致脚本彻底崩溃。


Hot Tools

热门文章
Hello Kitty 岛冒险:巧克力猫角色指南
24Jan2025手游攻略
如何修复KB5050081无法在Windows 10中安装?
31Jan2025故障排查
如何修复 Windows 更新错误 0x80070306?
22Jan2025故障排查
AI Checkers可能会标记您的写作的4个原因,即使您不使用Chatgpt
27Jan2025人工智能
丢失记录:Bloom&Rage -Corey和Dylan的锁组合
19Feb2025手游攻略