用到Smarty的regex_replace,正则里的分组符号$1,$2在编译的时候会被完全抹掉,找不到原因
一不做二不休,把$1,$2写成A1,A2,修改了modifier.regex_replace.php
$replace = str_replace(’A',’$',$replace);
然后就可以成功的分组替换了
update:
今天找到原因了,是在模板里的正则需要用反斜杠转义,因为 $ 会被smarty解析,所以 $1,$2在经过smarty解析后,传回去的时候就啥也没了
正确的方法是 \$1 \$2
2008-09-24