pregmatch中的未知修饰符

时间:2016-01-19 01:16:56

标签: php regex preg-match

我们最近转移了托管,所有突发性错误都发生在我们的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]);
                }

在移除G后返回未知修饰符'G',它显示未知修饰符'M'错误。

还尝试了preg_match_all()仍然出现相同的错误。

1 个答案:

答案 0 :(得分:0)

使用中间正斜线或使用不同的php分隔符。

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

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

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