preg_match 中的未知修饰符

Unknown modifier in pregmatch

我们最近转移了我们的主机,所有突然的错误都出现在我们的 preg_match 脚本中。

$lines = explode("\n",$email); //Email message by email forwarding    

if(preg_match("/^(.*)/ GMT(.*)/       <reply@pipe.mydomain.com>:/",$lines[$i],$matches)){
                    $message .= str_replace($matches[1],"",$lines[$i]);
                }

它 returns 未知修饰符 'G' 删除 G 后,它显示未知修饰符 'M' 错误。

也尝试了 preg_match_all() 仍然出现同样的错误。

转义中间的正斜杠或使用不同的 php 分隔符。

"~^(.*)/ GMT(.*)/       <reply@pipe.mydomain.com>:~"

使用\h+匹配一个或多个水平空格。

"~^(.*)/\h+GMT(.*)/\h+<reply@pipe.mydomain.com>:~"