Php ImageMagick更新后preg_匹配失败
我对预赛有意见Php ImageMagick更新后preg_匹配失败,php,regex,imagemagick,preg-match,phpthumb,Php,Regex,Imagemagick,Preg Match,Phpthumb,我对预赛有意见 $versionstring[1] = 'Version: ImageMagick 6.4.6 2010-01-20 Q8 OpenMP http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC'; preg_match('#^Version: [^0-9]*([ 0-9\\.\\:Q/\\-]+) (http|file)\:#i', $versionstring[1
$versionstring[1] = 'Version: ImageMagick 6.4.6 2010-01-20 Q8 OpenMP http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC';
preg_match('#^Version: [^0-9]*([ 0-9\\.\\:Q/\\-]+) (http|file)\:#i', $versionstring[1], $matches))
返回false
我怎样才能解决这个问题 OpenMP是在正则表达式工作后添加到ImageMagic版本字符串中的,因此作为一个快速修复,您可以像这样添加OpenMP:
preg_match('#^Version: [^0-9]*([ 0-9\\.\\:Q/\\-]+) OpenMP (http|file)\:#i', $versionstring[1], $matches);
但请注意,这可能会在将来的升级中再次发生,因此根据您使用它的目的,您可以考虑减少正则表达式的字符串特定性,并只提取您需要的信息。OpenMP是在您的正则表达式工作后添加到ImageMagic版本字符串的,以便快速修复,您可以这样添加OpenMP:
preg_match('#^Version: [^0-9]*([ 0-9\\.\\:Q/\\-]+) OpenMP (http|file)\:#i', $versionstring[1], $matches);
但是请注意,这可能会在将来的升级中再次发生,因此,根据您使用它的目的,您可以考虑减少正则表达式的字符串特定性,只需提取所需的信息