2015-07-21 212 views
0

我嘗試匹配這個表達式:的preg_match():編譯失敗

$reg = '/' . str_replace('%','[A-Za-z0-9_-]*', str_replace('.', '\.', $exception)) . '/i'; 

,但得到這個錯誤:

21 - 07月2015年22點十五分30秒UTC] PHP的警告:的preg_match():編譯 失敗:缺少)在偏移12

+0

也許','應該是'.' – Tushar

+1

看不到的preg_match()調用 – donald123

+1

首先str_replace函數沒有關閉。之後,你有,而不是點「。」。畢竟你關閉了最後一次str_replace兩次 – Daimos

回答

0

我認爲你需要添加:

$exception = preg_replace('/[()\[\]+$^*?\\\\{]/', '\\\$0', $exception); 

這將處理剩餘的正則表達式元字符。

IDEONE demo