PHP7 不再支持 preg_replace() 的 \e 规则 (PREG_REPLACE_EVAL),执行过程会直接抛出异常
解决办法:使用preg_replace_callback()来代替
PHP5中的写法:
$template = preg_replace ( "/\<\!\-\-\{date\((.+?)\)\}\-\-\>/ie", "Template::datetags('\\1')", $template );
PHP7中的写法:
$template = preg_replace_callback("/\<\!\-\-\{date\((.+?)\)\}\-\-\>/", function($r) { return Template::datetags($r[1]); }, $template);