$str = preg_replace( array (
'/<!--\s*\{([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*):(.*)\}\s*(#?(\d*))\s*-->/ie',//用户自定义标签
'/\{\$([a-zA-Z0-9_\'\"\[\]\$]+)\|([a-zA-Z0-9_]+):?([\s\S]*?)\}/e',//修饰符
'/<!--\s*if(\[|\()(.+?)(\]|\))\s*-->/is',
'/<!--\s*elseif(\[|\()(.+?)(\]|\))\s*-->/is',
'/<!--\s*else\s*-->/is',
'/<!--\s*end\s*-->/is',
'/<!--\s*([a-zA-Z0-9_\$\[\]\'\"\(\)\$,]{2,60})\s*(AS|as)\s*(.+?)\s*-->/',
'/(\{\s*|<!--\s*)row\:(.+?)(\s*\}|\s*-->)/eis',
'/\{\$([a-zA-Z0-9_\'\"\[\]\$]+)\}/',
'/\{\%([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/s',
'/\{p_([a-zA-Z_0-9\s+:\[\]\'\"\(\$,-]*)\)\}/',
'/\{([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/',
"/\?>\s*<\?(php)*/i",
),
array(
'$this->tag("\\1","\\2","\\3","\\4")',
'$this->modifier("\\1","\\2","\\3")',
'<?php if(\\2){?>',
'<?php }elseif(\\2){?>',
'<?php }else{?>',
'<?php }?>',
'<?php \$_i=0; foreach((array)\\1 AS \\3){\$_i++;?>',
'$this->col("\\2")',
'<?php echo \$\\1;?>',
"<?php echo \$lang['\\1'];?>",
'<?php echo \\1);?>',
'<?php echo \\1;?>',
'',
),
$str);
请求达人帮忙解释一下上述的代码。谢谢。(主要是正则表达式)