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

falseを返します

どうすればこれを修正できますか?

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 に答える