content = '<{$a}>';
$pattern = '/<\{\s*\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\}>/i';
$replacement = '<?php echo $this->test["${1}"]; ?>';
$repContent=preg_replace($pattern, $replacement, $content);
print_r(htmlspecialchars($repContent));这段代码打印出来后,可以得到<?php echo $this->test["a"]; ?>这个结果,但是如果出现了这种情况,它却替换不了,如:content = '<{$a["abc"]}>';  里面如果带有中括号之类的却不行,求一条正则可以解决这个问题,感谢。