更多>
最新下载
24小时阅读排行榜
- 1 edge浏览器快捷方式打不开怎么办_edge浏览器桌面图标异常修复方法
- 2 在Java中如何理解反射操作类和方法
- 3 Java中如何使用StampedLock提高读写效率
- 4 如何为Eclipse配置Java编译环境
- 5 如何在Golang中捕获数据库操作错误_Golang数据库操作错误处理方法汇总
- 6 如何创建一个自己的composer包并发布
- 7 vivo浏览器怎么把地址栏和搜索栏合并_vivo浏览器合并地址栏和搜索栏的方法
- 8 php框架如何实现身份认证_php框架用户认证系统的搭建
- 9 机械键盘轴体寿命测试:5000万次点击后手感变化
- 10 DeepSeek如何进行代码重构_DeepSeek进行代码重构策略
- 11 如何用css实现背景颜色background-color
- 12 c++中如何处理循环引用问题_c++中循环引用问题分析与解决方法
- 13 京东2025双11红包怎么领入口推荐 京东活动入口指引
- 14 Java中如何捕获和处理线程中断异常
- 15 百度最新版官网地址 百度平台入口官方直达首页
更多>
最新教程
-
- Node.js 教程
- 6430 2025-08-28
-
- CSS3 教程
- 927457 2025-08-27
-
- Rust 教程
- 10250 2025-08-27
-
- Vue 教程
- 12458 2025-08-22
-
- PostgreSQL 教程
- 9510 2025-08-21
-
- Git 教程
- 4846 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


