2011-06-15 94 views
0

我想使用preg_match在模板文件中查找php代码语句,所以我可以将它们转换为不同的语法(smarty)。preg_match问题

执行下面的示例不会产生任何匹配,有人可以让我知道我做错了什么吗?

$test = '<?=$test?>'; 
preg_match('/<?=$([a-z]+)?>/', $test, $code); 
+0

请停止在标题中写入标签,标题应比“<函数名称>问题”更具描述性 – 2011-06-15 13:39:55

回答

2
preg_match('/<\?=\$([a-z]+)\?>/i', $test, $code); 

您也可以放心地忽略括号有

preg_match('/<\?=\$[a-z]+\?>/i', $test, $code); 
+0

完美!谢谢! – Joe 2011-06-15 12:35:06

+0

解释downvote谢谢 – dynamic 2011-06-15 12:41:48

+0

没有downvote?我不是注册用户,所以我不能upvote或downvote,只是选择我刚才做的答案 – Joe 2011-06-15 13:17:08

0

你要逃避特殊字符,即在正则表达式中使用。您可以使用preg_quote()用于此目的