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
相关文章

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

20 Oct 2024
未解析基本语法的解决方法在 PHP 中解析时,可能会出现与基本语法的差异。具体来说,将复杂表达式指定为类属性的默认值可能会出现问题。虽然 (1

12 Jan 2025
Oracle 数据库中布尔数据类型的可用性与其他 RDBMS(例如提供 BIT 数据类型的 Microsoft SQL Server)不同,Oracle 数据库...

28 Dec 2024
PHP 库很方便,因为可以从应用程序中的任何位置访问它们:从插件、组件模型、模块等。如果有人已经解决了类似的问题并将其设计为库(甚至更新了它),那就有意义了


热工具

热门文章
两个点博物馆:邦格荒地地点指南
28 Feb 2025
手游攻略
击败分裂小说需要多长时间?
07 Mar 2025
手游攻略
在哪里可以在怪物猎人荒野中找到地球晶体
27 Feb 2025
手游攻略
仓库:如何复兴队友
04 Mar 2025
手游攻略
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
04 Mar 2025
html教程