更多>
最新下载
24小时阅读排行榜
- 1 javascript拖放功能如何实现_原生drag和drop api怎样使用【教程】
- 2 Golang中频繁创建对象如何优化_Golang对象复用与内存优化
- 3 PHP 中 mktime() 函数参数类型错误的修复指南
- 4 PHP 中 mktime() 函数因参数类型严格校验导致的致命错误详解
- 5 PHP中mktime()函数调用错误的修复方法
- 6 如何在动态生成表单时,通过表单外部按钮(如导航栏按钮)触发提交?
- 7 WordPress 中 admin_notices 通知显示位置异常的解决方案
- 8 WordPress 后台通知(admin_notices)显示错位的解决方案
- 9 Pyomo教程:如何在优化模型中为每个请求动态定义时间窗口并施加能量约束
- 10 如何在 Go 中对结构体切片进行降序排序
- 11 WordPress 中 admin_notices 通知显示错位的解决方案
- 12 WordPress 插件中实现 CAPTCHA 图像生成的正确方法
- 13 如何在 WordPress 中随机显示 20 名订阅用户(含头像)
- 14 Pyomo教程:如何为动态时间窗口内的请求构建条件能量约束
- 15 JavaScript 中从数组构建分层随机三叉树的完整教程
更多>
最新教程
-
- Node.js 教程
- 16378 2025-08-28
-
- CSS3 教程
- 1547135 2025-08-27
-
- Rust 教程
- 23485 2025-08-27
-
- Vue 教程
- 25908 2025-08-22
-
- PostgreSQL 教程
- 22410 2025-08-21
-
- Git 教程
- 9346 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
