From 4e3423983bf7e5b54f46c943297463d24c204353 Mon Sep 17 00:00:00 2001 From: huangdijia Date: Thu, 3 Mar 2016 18:11:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E8=A7=A3=E6=9E=90=20include?= =?UTF-8?q?=20=E6=97=B6=E6=94=AF=E6=8C=81=20$var=5Fname=20=3D=20value=20?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=B5=8B=E5=80=BC=EF=BC=8C=E4=BF=9D=E7=95=99?= =?UTF-8?q?[var=5Fname]=E9=9D=99=E6=80=81=E6=B8=B2=E6=9F=93=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Template.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/library/think/Template.php b/library/think/Template.php index 7d14e354..0c5cdc6b 100644 --- a/library/think/Template.php +++ b/library/think/Template.php @@ -456,13 +456,18 @@ class Template // 分析模板文件名并读取内容 $parseStr = $this->parseTemplateName($file); // 替换变量 + $varStr = ""; foreach ($array as $k => $v) { // 以$开头字符串转换成模板变量 if (0 === strpos($v, '$')) { $v = $this->get(substr($v, 1)); } + // 兼容 [var_name] 静态渲染 $parseStr = str_replace('[' . $k . ']', $v, $parseStr); + // 支持 $var_name = value 动态赋值 + $varStr .= "{assign name=\"{$k}\" value=\"{$v}\" /}"; } + $parseStr = $varStr . $parseStr; $content = str_replace($match[0], $parseStr, $content); // 再次对包含文件进行模板分析 $funReplace($parseStr);