Automattic\WooCommerce\EmailEditor\Integrations\Utils

Html_Processing_Helper::clean_css_classespublic staticWC 1.0

Clean CSS classes by removing background and border related classes.

Method of the class: Html_Processing_Helper{}

No Hooks.

Returns

String. Cleaned CSS classes.

Usage

$result = Html_Processing_Helper::clean_css_classes( $classes ): string;
$classes(string) (required)
CSS classes to clean.

Html_Processing_Helper::clean_css_classes() code WC 10.5.0

public static function clean_css_classes( string $classes ): string {
	// Limit input length to prevent DoS attacks.
	if ( strlen( $classes ) > 1000 ) {
		$classes = substr( $classes, 0, 1000 );
	}

	// Remove generic background classes but keep specific color classes.
	$result = preg_replace( '/\bhas-background\b/', '', $classes );
	if ( null === $result ) {
		$classes = '';
	} else {
		$classes = $result;
	}

	// Remove border classes.
	$result = preg_replace( '/\bhas-[a-z-]*border[a-z-]*\b/', '', $classes );
	if ( null === $result ) {
		$classes = '';
	} else {
		$classes = $result;
	}

	$result = preg_replace( '/\b[a-z-]+-border-[a-z-]+\b/', '', $classes );
	if ( null === $result ) {
		$classes = '';
	} else {
		$classes = $result;
	}

	// Clean up multiple spaces.
	$result = preg_replace( '/\s+/', ' ', $classes );
	if ( null === $result ) {
		$classes = '';
	} else {
		$classes = $result;
	}

	return trim( $classes );
}