Output: HEAD dev DRUPAL-5 5.x-1.x-dev DRUPAL-5--2 5.x-2.x-dev DRUPAL-5--2-3 5.x-2-3 DRUPAL-5--23-32 5.x-23-32 DRUPAL-5--23-32-BETA-SUPER-EXTENDED-1 5.x-23-32-beta-super-extended-1 Function: function system_extract_version($version_string) { $core_version = substr(VERSION, 0, strpos(VERSION, '.')); $pattern = '/DRUPAL-'. $core_version .'(?:--(?P\d+)(?:-(?P\d+))?)?(?P-.+)?/'; if (empty($version_string)) { // Module was checked out from HEAD. $version = t('dev'); } elseif (preg_match($pattern, $version_string, $matches)) { if (!isset($matches['major'])) { // Module was checked out from a branch like DRUPAL-5 $version = $core_version .'.x-1.x-dev'; } elseif (!isset($matches['minor'])) { // Module was checked out from a branch like DRUPAL-5--2 $version = $core_version .'.x-'. $matches['major'] .'.x-dev'; } else { // Official release of a module that was tagged, ex. DRUPAL-5--1-2 $version = $core_version .'.x-'. $matches['major'] .'-'. $matches['minor'] . drupal_strtolower($matches['extra']); } } return check_plain($version); }