preg_match_all()[function.preg-match-all]:未知修饰符']'

7 php regex pcre

使用一些不同的模式,但他们每个都会出现这个错误 - 所以有什么不对?

我诊断的最短的一个是:

$pattern = "<img([^>]*[^/])>";
preg_match_all($pattern, $subject, $matches);
Run Code Online (Sandbox Code Playgroud)

谢谢

PEZ*_*PEZ 11

你缺乏正则表达式分隔符.尝试:

$pattern = "#<img([^>]*[^/])>#i";
Run Code Online (Sandbox Code Playgroud)


Waq*_*quo 9

单斜杠是默认分隔符,这就是原始正则表达式后面的字符在错误消息中的原因.使用传统斜杠作为分隔符并转义不是分隔符的斜杠将如下所示:

$pattern = "/<img([^>]*[^\\/])>/";
Run Code Online (Sandbox Code Playgroud)