Automattic\WooCommerce\EmailEditor\Integrations\Core\Renderer\Blocks
Gallery::parse_aspect_ratio
Parse an aspect ratio attribute value (e.g. "1", "1.5", "4/3") into a numeric width/height ratio.
Method of the class: Gallery{}
No Hooks.
Returns
float|null. The ratio (width divided by height), or null when the value is invalid.
Usage
// private - for code of main (parent) class only $result = $this->parse_aspect_ratio( $aspect_ratio ): ?float;
- $aspect_ratio(string) (required)
- Aspect ratio value.
Gallery::parse_aspect_ratio() Gallery::parse aspect ratio code WC 11.1.2
private function parse_aspect_ratio( string $aspect_ratio ): ?float {
// Only accept simple numeric ratios to avoid injecting anything unexpected into the markup.
if ( ! preg_match( '/^(\d+(?:\.\d+)?)(?:\s*\/\s*(\d+(?:\.\d+)?))?$/', trim( $aspect_ratio ), $matches ) ) {
return null;
}
$numerator = (float) $matches[1];
$denominator = isset( $matches[2] ) ? (float) $matches[2] : 1.0;
if ( $numerator <= 0 || $denominator <= 0 ) {
return null;
}
return $numerator / $denominator;
}