packages/kirki-framework/core/src/Sanitize_Values.php
public static function css_dimension( $value ) {

		// Trim it.
		$value = trim( $value );

		// If the value is round, then return 50%.
		if ( 'round' === $value ) {
			$value = '50%';
		}

		// If the value is empty, return empty.
		if ( '' === $value ) {
			return '';
		}

		// If auto, inherit or initial, return the value.
		if ( 'auto' === $value || 'initial' === $value || 'inherit' === $value || 'normal' === $value ) {
			return $value;
		}

		// Return empty if there are no numbers in the value.
		if ( ! preg_match( '#[0-9]#', $value ) ) {
			return '';
		}

		// If we're using calc() then return the value.
		if ( false !== strpos( $value, 'calc(' ) ) {
			return $value;
		}

		// The raw value without the units.
		$raw_value = self::filter_number( $value );
		$unit_used = '';

		// An array of all valid CSS units. Their order was carefully chosen for this evaluation, don't mix it up!!!
		$units = [ 'fr', 'rem', 'em', 'ex', '%', 'px', 'cm', 'mm', 'in', 'pt', 'pc', 'ch', 'vh', 'vw', 'vmin', 'vmax' ];
		foreach ( $units as $unit ) {
			if ( false !== strpos( $value, $unit ) ) {
				$unit_used = $unit;
			}
		}

		// Hack for rem values.
		if ( 'em' === $unit_used && false !== strpos( $value, 'rem' ) ) {
			$unit_used = 'rem';
		}

		return $raw_value . $unit_used;
	}
public static function css_dimension( $value ) {

		// Trim it.
		$value = trim( $value );

		// If the value is round, then return 50%.
		if ( 'round' === $value ) {
			$value = '50%';
		}

		// If the value is empty, return empty.
		if ( '' === $value ) {
			return '';
		}

		// If auto, inherit or initial, return the value.
		if ( 'auto' === $value || 'initial' === $value || 'inherit' === $value || 'normal' === $value ) {
			return $value;
		}

		// Return empty if there are no numbers in the value.
		if ( ! preg_match( '#[0-9]#', $value ) ) {
			return '';
		}

		// If we're using calc() then return the value.
		if ( false !== strpos( $value, 'calc(' ) ) {
			return $value;
		}

		// The raw value without the units.
		$raw_value = self::filter_number( $value );
		$unit_used = '';

		// An array of all valid CSS units. Their order was carefully chosen for this evaluation, don't mix it up!!!
		$units = [ 'fr', 'rem', 'em', 'ex', '%', 'px', 'cm', 'mm', 'in', 'pt', 'pc', 'ch', 'vh', 'vw', 'vmin', 'vmax' ];
		foreach ( $units as $unit ) {
			if ( false !== strpos( $value, $unit ) ) {
				$unit_used = $unit;
			}
		}

		// Hack for rem values.
		if ( 'em' === $unit_used && false !== strpos( $value, 'rem' ) ) {
			$unit_used = 'rem';
		}

		return $raw_value . $unit_used;
	}
public static function css_dimension ( $ value ) { // Trim it. $ value = trim ( $ value ) ; // If the value is round, then return 50%. if ( 'round' === $ value ) { $ value = '50%' ; } // If the value is empty, return empty. if ( '' === $ value ) { return '' ; } // If auto, inherit or initial, return the value. if ( 'auto' === $ value || 'initial' === $ value || 'inherit' === $ value || 'normal' === $ value ) { return $ value ; } // Return empty if there are no numbers in the value. if ( ! preg_match ( '#[0-9]#' , $ value ) ) { return '' ; } // If we're using calc() then return the value. if ( false !== strpos ( $ value , 'calc(' ) ) { return $ value ; } // The raw value without the units. $ raw_value = self :: filter_number ( $ value ) ; $ unit_used = '' ; // An array of all valid CSS units. Their order was carefully chosen for this evaluation, don't mix it up!!! $ units = [ 'fr' , 'rem' , 'em' , 'ex' , '%' , 'px' , 'cm' , 'mm' , 'in' , 'pt' , 'pc' , 'ch' , 'vh' , 'vw' , 'vmin' , 'vmax' ] ; foreach ( $ units as $ unit ) { if ( false !== strpos ( $ value , $ unit ) ) { $ unit_used = $ unit ; } } // Hack for rem values. if ( 'em' === $ unit_used && false !== strpos ( $ value , 'rem' ) ) { $ unit_used = 'rem' ; } return $ raw_value . $ unit_used ; }
Sanitizes css dimensions.

@static
@access public
@since 2.2.0
@param string $value The value to be sanitized.
@return string
Sanitizes css dimensions .