最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php Smarty模板引擎 foreach循环
时间:2022-06-25 02:18:36 编辑:袖梨 来源:一聚教程网
模板文件:
| 代码如下 | 复制代码 |
|
{$article_title} -- by {$author} {$content} -- publish @ {$time}
{foreach ( from=url key=b item=c )}
|
|
解析引擎:
| 代码如下 | 复制代码 |
| // var $pattern_var = "/{$left_tag}$([wd]+){$right_tag}/"; $replace_var = 'var_tpl_arr["$1"];?>'; if (preg_match($pattern_var, $content)) { $content = preg_replace($pattern_var, $replace_var, $content); } // foreach preg_match_all("/{$left_tag}foreachs+([^{]+?){$right_tag}/is", $content, $match_foreach); if (isset($match_foreach[1]) && is_array($match_foreach)) { foreach($match_foreach[1] as $match_key => $match_value) { $split_foreachs = array_filter(preg_split('/s+/is', $match_value)); $new_foreach_tag = array(); foreach($split_foreachs as $split_foreach) { $split = explode("=", $split_foreach); if (count($split == 2)) { if(in_array($split[0], array("from","item","key"))) { //过滤标签 不存在过滤 $new_foreach_tag[$split[0]] = $split[1]; } } } $from = $key = $item = ''; extract($new_foreach_tag); $key = ($key) ? '$'.$key.' =>' : '' ; $replace_foreach = 'var_tpl_arr["'.$from.'"] as '.$key.' $'.$item.') { ?>'; $content = str_replace($match_foreach[0][$match_key], $replace_foreach, $content); } } $pattern_foreach = "/{$left_tag}/foreach{$right_tag}/"; $replace_foreach = ""; if (preg_match($pattern_foreach, $content)) { $content = preg_replace($pattern_foreach, $replace_foreach, $content); } // var in statement $pattern_var = "/{$left_tag}==([wd]+){$right_tag}/"; $replace_var = ''; if (preg_match($pattern_var, $content)) { $content = preg_replace($pattern_var, $replace_var, $content); } |
|
解析后:
| 代码如下 | 复制代码 |
|
var_tpl_arr["article_title"];?> -- by var_tpl_arr["author"];?> var_tpl_arr["content"];?> -- publish @ var_tpl_arr["time"];?>
var_tpl_arr["url"] as $b => $c) { ?>
|
|
使用:
| 代码如下 | 复制代码 |
|
require_once 'core/YATP.class.php'; $app = new YATP(); $article_title = "yet,it is a simple template engine"; $url = array( $app->assign("article_title",$article_title); |
|
// end of script效果:
相关文章
- 淘宝闪购入口在哪-淘宝闪购红包天天有吗 12-13
- 圆通速递物流轨迹实时查询-圆通速递电子面单下载入口 12-13
- 漫天玉兔漫画破解版高清免广告-安卓2025最新下载入口链接 12-13
- 死神BLEACH手游官网登录入口-死神BLEACH手游网页版在线地址 12-13
- 漫蛙防走失网页入口-最新防走失链接一键直达 12-13
- 丫丫漫画官方正版免费阅读下载入口最新上线 12-13
