null, 'build' => null]; } // pve-manager//. The build is optional — some hosts // report only the first two segments. if (preg_match('#^[a-z-]+/([0-9][0-9.]*)(?:/([0-9a-f]+))?$#i', $raw, $m) === 1) { return ['version' => $m[1], 'build' => $m[2] ?? null]; } // An unexpected shape is passed through whole rather than swallowed. A // display that shows nothing when it does not recognise something is // worse than one that hands over what it was given: the operator can // still read it, and nobody is left wondering whether the field is // empty or the parser gave up. return ['version' => $raw, 'build' => null]; } }