更多>
最新下载
24小时阅读排行榜
- 1 Laravel怎么实现验证码(Captcha)功能
- 2 Python类属性与实例属性区别_使用场景讲解【指导】
- 3 如何在虚拟机中搭建mysql_mysql虚拟机环境搭建方法
- 4 c++中#pragma once是什么意思_解析C++中#pragma once的作用与使用方法
- 5 如何使用Golang遍历目录文件_Golang filepath Walk方法说明
- 6 C#怎么实现单例模式 C#设计模式之单例模式详解
- 7 MAUI怎么使用蓝牙功能 MAUI BLE通信教程
- 8 html5怎样用data属性存数据_html5data属性使用与js读取方法【方法】
- 9 如何在mysql中删除数据库_mysql数据库删除操作说明
- 10 C++如何调用Python脚本_C++与Python混合编程环境配置
- 11 如何转移HTML项目到新服务器_迁移部署步骤【指南】
- 12 mysql默认用户安全吗_mysql默认安全风险分析
- 13 Go文件操作常见error有哪些_Go File Error常见类型说明
- 14 如何使用Golang开发URL爬虫工具_抓取网页内容并解析数据
- 15 SQL敏感数据掩码策略_SQL数据可视化安全处理
更多>
最新教程
-
- Node.js 教程
- 14098 2025-08-28
-
- CSS3 教程
- 1540611 2025-08-27
-
- Rust 教程
- 21799 2025-08-27
-
- Vue 教程
- 24315 2025-08-22
-
- PostgreSQL 教程
- 21032 2025-08-21
-
- Git 教程
- 8291 2025-08-21
下载首页 / 类库下载 / 其它类库
<?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['$1'];?>",$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['$1']){?>",$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
