0

我对 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)) 

返回假

我怎样才能解决这个问题 ?

4

1 回答 1

4

自从您的正则表达式工作以来,OpenMP 已添加到 ImageMagic 版本字符串中,因此作为快速修复,您可以像这样添加 OpenMP:

preg_match('#^Version: [^0-9]*([ 0-9\\.\\:Q/\\-]+) OpenMP (http|file)\:#i', $versionstring[1], $matches);

但是请注意,这可能会在未来的升级中再次发生,因此根据您使用它的目的,您可以考虑使正则表达式不那么具体,只需提取您需要的信息即可。

于 2012-01-06T00:30:35.473 回答