<?php
$str = <<<ppp
<title>{$title}</title>
测试变量常量:{PTCMS_ROOT}<br>
测试loop循环:<br>
<!--{loop $data $key $value}-->
{$key}-->{$value['articlename']}<br>
<!--{/loop}-->
测试for循环:<br>
<!--{for $i=0;$i<5;$i++}-->
{$data[$i]['articlename']}
<!--{/for}-->
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<!--{loop $data $key $dvalue}-->
{$key}
<!--{loop $dvalue $key $value}-->
{$key}-->{$value}<br>
<!--{/loop}--><br>
<!--{/loop}-->
ppp;
$p="\$([^\[]*)\[\$([^]]*)]\['([^']*)']";
if (preg_match("/\{($p)\}/", $str,$arr)) {
    echo 'ok';
}else{
    echo 'err';
}
测试代码如上
想匹配出{$data[$i]['articlename']}中的$data[$i]['articlename']部分
这个数组当然是任意的恩 这是在研究制作一个小模板引擎