preg_match завершается ошибкой после обновления ImageMagick - PullRequest
0 голосов
/ 06 января 2012

У меня проблема с 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

как это исправить?

1 Ответ

4 голосов
/ 06 января 2012

OpenMP был добавлен в строку версии ImageMagic, так как ваше регулярное выражение работало, поэтому для быстрого исправления вы можете просто добавить OpenMP следующим образом:

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

Но имейте в виду, что это может произойти снова при будущих обновлениях, поэтому, в зависимости от того, для чего вы его используете, вы подумаете о том, чтобы сделать регулярное выражение менее конкретным, и просто извлеките необходимую информацию.

...