1

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

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

我的错误是:

Unknown modifier 'C' in ...

如果有人能告诉我我做错了什么,我将不胜感激,谢谢。

4

1 回答 1

3

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

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

PHP 手册中的 preg_quote()

preg_quote() 接受 str 并在作为正则表达式语法一部分的每个字符前面放置一个反斜杠。如果您有一个需要在某些文本中匹配的运行时字符串并且该字符串可能包含特殊的正则表达式字符,这将非常有用。

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

于 2012-05-05T14:26:45.547 回答