2011-06-15 100 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()用於此目的