2015-07-21 215 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