我遇到preg_match
的问题$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
我该如何解决这个问题?
答案 0 :(得分:4)
由于你的正则表达式正常工作,OpenMP被添加到ImageMagic版本字符串中,所以作为一个快速修复,你可以像这样添加OpenMP:
preg_match('#^Version: [^0-9]*([ 0-9\\.\\:Q/\\-]+) OpenMP (http|file)\:#i', $versionstring[1], $matches);
但请注意,这可能会在未来的升级中再次发生,因此,根据您使用的内容,您可以考虑使正则表达式更少字符串,只需提取您需要的信息。