preg_replace $mach_auth = "/\{\\$([\w]+)\}/"; if(preg_match($mach_auth,$string)){ $string = preg_replace($mach_auth,"<?php echo \$this->args['$1']; ?>",$string); } preg_replace 有四个参数 最后一个参数就是变量 可以直接输出查看数组结构 然后根据对应的顺序可以使用 $0 $1 这样的方式取值