【发布时间】:2014-03-07 05:52:19
【问题描述】:
我正在用 PHP 编写又一个模板引擎。 Mustache.php 真的应该是 1.6mb 吗?我想要更轻松且完全与工作流程无关的东西。包含供应商文件并使用它的好日子发生了什么?
无论如何,语法很简单,所以我有一个非常简单的工作 preg_replace 用于简单变量,即 [[variable]]
但是我遇到了一个问题,而我想捕获封装的条件内容。即
[[#if this == 'that']]
To be seen or not to be that is the question!
[[/if]]
下面是我当前的正则表达式,它非常接近,但是我似乎无法为关闭 [[/if]] 标签制定正确的规则;
它捕捉过去的结束标签:(
preg_match('/\\[\\[#if(.+)\\]\\][^\\[\\]\\/](.+)\\[\\[\\/if\\]\\]/s', $template, $ifmatches);
任何帮助将不胜感激!
【问题讨论】:
标签: php regex parsing syntax logic