更多>
最新下载
24小时阅读排行榜
- 1 PHP怎么用ZStackAI云平台_布容器环境调模型服务获响应【捷法】
- 2 css 浮动元素换行异常怎么办_clear both 或 flex 替代 float
- 3 css 选择器写得太多难维护怎么办_减少层级使用语义 class
- 4 c++中如何实现堆排序_c++ heap算法与堆排序代码【实例】
- 5 XML数据岛是什么 如何在HTML页面中嵌入XML数据
- 6 mysql安装后配置远程访问权限的步骤
- 7 css 动画与弹性效果_通过 ease-out 创建弹跳动画效果
- 8 EF Core怎么实现Contains查询 EF Core列表In查询方法
- 9 Go反射是什么_Go反射机制与基本概念解析
- 10 C++如何使用alignas和alignof进行内存对齐?(性能优化)
- 11 phpinfo能判断PHP编译参数吗_查编译选项用phpinfo流程【判别】
- 12 css grid布局中的justify-content与align-content_控制整个网格的对齐
- 13 XML Schema怎么写 XSD文件编写与验证入门教程
- 14 css 动画与背景颜色变化_平滑过渡背景色的动态效果
- 15 如何在Python中正确更新列表中的字符串元素
更多>
最新教程
-
- Node.js 教程
- 15536 2025-08-28
-
- CSS3 教程
- 1544732 2025-08-27
-
- Rust 教程
- 22816 2025-08-27
-
- Vue 教程
- 25290 2025-08-22
-
- PostgreSQL 教程
- 21863 2025-08-21
-
- Git 教程
- 8879 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
