我正在尝试使用preg_match在模板文件中查找php代码语句,因此我可以将它们转换为不同的语法(smarty)。
执行以下示例不会产生任何匹配,有人能让我知道我做错了吗?
$test = '<?=$test?>';
preg_match( '/<?=$([a-z]+)?>/', $test, $code );
答案 0 :(得分:2)
preg_match( '/<\?=\$([a-z]+)\?>/i', $test, $code );
你也可以安全地省略那里的括号
preg_match( '/<\?=\$[a-z]+\?>/i', $test, $code );
答案 1 :(得分:0)
您必须转义正则表达式中使用的特殊字符。您可以将preg_quote()用于此目的