最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php Smarty模板引擎之 if else的用法
时间:2022-06-25 02:18:41 编辑:袖梨 来源:一聚教程网
用法:
{if}{/if}
{if} {else}{/else}{/if}
解析引擎:
| 代码如下 | 复制代码 |
| // if $if_operators = array(">","="," $is_operator = false; $pattern_if = "/{$left_tag}ifs+((.*?)){$right_tag}/"; preg_match_all($pattern_if,$content,$match_if); if (isset($match_if[1]) && is_array($match_if[1])) { foreach ($match_if[1] as $key_if=>$val_if) { foreach ($if_operators as $if_operator) { $items = explode($if_operator, $val_if); if (count($items) == 2) { $is_operator = true; $shift_left = substr($items[0], 0,1); $pop_left = substr($items[0], 1); $shift_right = substr($items[1], 0,1); $pop_right = substr($items[1], 1); $left_var = $shift_left == '$'? '$this->var_tpl_arr["'.$pop_left.'"]':$items[0]; $right_var = $shift_right == '$'?'$this->var_tpl_arr["'.$pop_right.'"]':$items[1]; $content = str_replace($match_if[0][$key_if], "", $content); break; } else { continue; } } if (!$is_operator) { $content = str_replace($match_if[0][$key_if], "", $content); } } } // if close $pattern_if = "/{$left_tag}/if{$right_tag}/"; $replace_if = ";"; if (preg_match($pattern_if, $content)) { $content = preg_replace($pattern_if, $replace_if, $content); } // else $pattern_else = "/{$left_tag}else{$right_tag}/"; $replace_else = ""; if (preg_match($pattern_else, $content)) { $content = preg_replace($pattern_else, $replace_else, $content); } // else close $pattern_else = "/{$left_tag}/else{$right_tag}/"; $replace_else = ""; if (preg_match($pattern_else, $content)) { $content = preg_replace($pattern_else, $replace_else, $content); } |
|
模板表示方法:
| 代码如下 | 复制代码 |
|
test if <:>
test if ==:$var_left==$va_right |
|
解析后的缓存文件:
| 代码如下 | 复制代码 |
|
|
|
test if
| 代码如下 | 复制代码 |
|
<:>
var_tpl_arr["var_left"] if ; |
|
test if ==:$var_left==$va_right
| 代码如下 | 复制代码 |
|
var_tpl_arr["var_left"] == $this->var_tpl_arr["va_right"]) { ?> if == 条件成立! if == 条件不成立! ; |
|
相关文章
- 绝区零Wiki入口在哪里-绝区零Wiki最新攻略查询入口 02-15
- ao3网页版登录入口-ao3官网登录入口2026 02-15
- 职教云登录-云课堂职教云登录 02-15
- Yandex官网免登录入口-如何直接访问Yandex无需登录 02-15
- weme微密网页版登录入口-weme微密官网链接直达2026 02-15
- 免费漫画app精选-长期免费漫画软件大全 02-15