首页 新闻 会员 周边 捐助

奇怪的正则匹配问题

0
[待解决问题]
    public function testTmpExreg()
    {
        $str        = '';
        for($i = 0; $i< 1352; $i++){
            $str    .= 'A';
        }
//         preg_match('#.*?#siU', $str, $m);
//         var_dump($m);
//         exit;
        $content    = '
{% block body %}
	    {% block header %}'.
	    $str
        .'{% /block %}
{% /block %}';
        try{
            $match = preg_match_all('#\{%\s*block(.*)\s*%\}((.*(?R)*)*)\{%\s*/\s*block\s*%\}#siU', $content, $matches);
//         $match = preg_match('#\{%\s*block\s+body\s*%\}(((.*)(?(?!\{%\s*/\s*block.*\s*%\})((\{%\s*block.*\s*%\})((.*(?4)*)*)(\{%\s*/\s*block\s*%\}))))*?)\{%\s*/\s*block\s*%\}#siU', $content, $matches);    //
        var_dump(112,$match);
        var_dump($matches);
        var_dump(strlen($content));
        }catch(\Throwable $e){
            var_dump($e->__toString());   
        }
        exit;
    }

有没有人知道 为什么 for($i = 0; $i< 1351; $i++){ 这一行$i超过1352时,这个正则就不能匹配了?

李春寅的主页 李春寅 | 菜鸟二级 | 园豆:204
提问于:2018-04-21 16:10

建议给代码加上高亮

dudu 6年前
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册