Inpsyde\MultilingualPress\Common\Type\SemanticVersionNumber::sanitize_version PHP Method

sanitize_version() private method

Removes invalid characters, and inserts dots between numeric and non-numeric characters.
private sanitize_version ( string $version ) : string
$version string Raw version number string.
return string Sanitized version number string.
    private function sanitize_version($version)
    {
        $version = strtolower($version);
        // Normalize separators.
        $version = str_replace(['_', '-', '+'], '.', $version);
        // Remove invalid characters.
        $version = preg_replace('~[^a-z0-9\\.]*~', '', $version);
        if ('' === $version) {
            return '';
        }
        // Reduce repeating dots to one dot only.
        $version = preg_replace('~\\.\\.+~', '.', $version);
        // Insert a dot between a numeric character followed by a non-numeric one (i.e., "2beta1" becomes "2.beta1").
        $version = preg_replace('~([0-9])([a-z])~', '$1.$2', $version);
        // Insert a dot between a non-numeric character followed by a numeric one (i.e., "2beta1" becomes "2beta.1").
        $version = preg_replace('~([a-z])([0-9])~', '$1.$2', $version);
        return $version;
    }