Preg_Match返回未知修饰符'C'错​​误

时间:2012-05-05 14:23:35

标签: php regex preg-match

我是正则表达式的新手,我正在尝试使用preg_match找到一个字符串,这是我的代码:

$artist = $row['ARTIST'];
$bool = preg_match("/$artist/", $description, $match);

我的错误是:

Unknown modifier 'C' in ...

如果有人能告诉我我做错了什么,我会很感激,谢谢。

1 个答案:

答案 0 :(得分:3)

您必须在变量中转义可能的特殊字符:

$bool = preg_match('/' . preg_quote($artist, '/') . '/', $description, $match);

preg_quote() in the PHP Manual

  

preg_quote()接受str并在每个前面放一个反斜杠   作为正则表达式语法一部分的字符。这是   如果你有一个运行时字符串,你需要匹配一些   text和字符串可能包含特殊的正则表达式字符。

提示:尝试回显您的$artist变量,您应该看到导致问题的字符