我是正则表达式的新手,我正在尝试使用preg_match找到一个字符串,这是我的代码:
$artist = $row['ARTIST'];
$bool = preg_match("/$artist/", $description, $match);
我的错误是:
Unknown modifier 'C' in ...
如果有人能告诉我我做错了什么,我会很感激,谢谢。
答案 0 :(得分:3)
您必须在变量中转义可能的特殊字符:
$bool = preg_match('/' . preg_quote($artist, '/') . '/', $description, $match);
preg_quote() in the PHP Manual:
preg_quote()接受str并在每个前面放一个反斜杠 作为正则表达式语法一部分的字符。这是 如果你有一个运行时字符串,你需要匹配一些 text和字符串可能包含特殊的正则表达式字符。
提示:尝试回显您的$artist
变量,您应该看到导致问题的字符