private function minify_assets($html) { $this->write_log("๐Ÿ—œ๏ธ Starte Asset-Minifizierung"); $minified_external_css = 0; $minified_external_js = 0; $minified_inline_css = 0; $minified_inline_js = 0; $total_css_saved = 0; $total_js_saved = 0; // CSS minifizieren (extern) $this->write_log("๐Ÿ“„ Minifiziere externe CSS-Dateien"); $html = preg_replace_callback( '/]*href=["\']([^"\']+\.css[^"\']*)["\'][^>]*>/i', function($matches) use (&$minified_external_css, &$total_css_saved) { $url = $matches[1]; $this->write_log("๐Ÿ”— Prรผfe CSS-Datei: $url"); $minified_url = $this->minify_css_file($url); if ($minified_url) { $minified_external_css++; $this->write_log("โœ… CSS minifiziert: " . basename($url)); return str_replace($url, $minified_url, $matches[0]); } else { $this->write_log("โš ๏ธ CSS nicht minifiziert: " . basename($url)); } return $matches[0]; }, $html ); // Inline CSS minifizieren $this->write_log("๐Ÿ“ Minifiziere Inline CSS"); $html = preg_replace_callback( '/]*>(.*?)<\/style>/is', function($matches) use (&$minified_inline_css, &$total_css_saved) { $original_css = $matches[1]; $original_size = strlen($original_css); if ($original_size > 0) { $minified_css = $this->minify_css_content($original_css); $saved = $original_size - strlen($minified_css); $total_css_saved += $saved; $minified_inline_css++; $this->write_log("๐Ÿ“ Inline CSS minifiziert: " . size_format($saved) . " gespart"); return ''; } return $matches[0]; }, $html ); // JS minifizieren (extern) $this->write_log("๐Ÿ“„ Minifiziere externe JS-Dateien"); $html = preg_replace_callback( '/]*src=["\']([^"\']+\.js[^"\']*)["\'][^>]*>([\s\S]*?)<\/script>/i', function($matches) use (&$minified_external_js, &$total_js_saved) { $url = $matches[1]; $script_attributes = $matches[0]; // Skip if it's a JSON script if (stripos($script_attributes, 'type="application/json"') !== false || stripos($script_attributes, 'type=\'application/json\'') !== false) { $this->write_log("โš ๏ธ JSON-Script รผbersprungen: " . basename($url)); return $matches[0]; } $this->write_log("๐Ÿ”— Prรผfe JS-Datei: $url"); $minified_url = $this->minify_js_file($url); $script_content = $matches[2]; $output = ''; if ($minified_url) { $minified_external_js++; $this->write_log("โœ… JS minifiziert: " . basename($url)); } else { $this->write_log("โš ๏ธ JS nicht minifiziert: " . basename($url)); } return $output; }, $html ); // Inline JS minifizieren $this->write_log("๐Ÿ“ Minifiziere Inline JavaScript"); $html = preg_replace_callback( '/]*>(.*?)<\/script>/is', function($matches) use (&$minified_inline_js, &$total_js_saved) { // Check if it's an external script or a JSON script if (strpos($matches[0], 'src=') !== false || stripos($matches[0], 'type="application/json"') !== false || stripos($matches[0], 'type=\'application/json\'') !== false) { return $matches[0]; } $original_js = $matches[1]; $original_size = strlen($original_js); if ($original_size > 0) { $minified_js = $this->minify_js_content($original_js); $saved = $original_size - strlen($minified_js); $total_js_saved += $saved; $minified_inline_js++; $this->write_log("๐Ÿ“ Inline JS minifiziert: " . size_format($saved) . " gespart"); return ''; } return $matches[0]; }, $html ); $total_minified = $minified_external_css + $minified_external_js + $minified_inline_css + $minified_inline_js; $this->write_log("๐Ÿ“Š Minifizierung Zusammenfassung:"); $this->write_log(" ๐Ÿ“„ Externe CSS: $minified_external_css Dateien"); $this->write_log(" ๐Ÿ“„ Externe JS: $minified_external_js Dateien"); $this->write_log(" ๐Ÿ“ Inline CSS: $minified_inline_css Blรถcke"); $this->write_log(" ๐Ÿ“ Inline JS: $minified_inline_js Blรถcke"); $this->write_log(" ๐Ÿ’พ CSS gespart: " . size_format($total_css_saved)); $this->write_log(" ๐Ÿ’พ JS gespart: " . size_format($total_js_saved)); $this->write_log(" ๐Ÿ“Š Total: $total_minified Assets optimiert"); return $html; }
Warning: Cannot modify header information - headers already sent by (output started at /var/customers/webs/Muhsin/muhsin.de/wp-content/plugins/rss-code-optimizer/rss-code-optimizer.php:1) in /var/customers/webs/Muhsin/muhsin.de/wp-includes/pluggable.php on line 1450

Warning: Cannot modify header information - headers already sent by (output started at /var/customers/webs/Muhsin/muhsin.de/wp-content/plugins/rss-code-optimizer/rss-code-optimizer.php:1) in /var/customers/webs/Muhsin/muhsin.de/wp-includes/pluggable.php on line 1453