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; } https://tinnitusnews.de/was-ist-eigentlich-laerm-subjektive-wahrnehmung-von-lautstaerke-kann-taeuschen/ 2024-10-06T22:33:16+00:00 daily 0.8 https://tinnitusnews.de/meereskiefernextrakt-wirksam-bei-der-linderung-von-tinnitus-symptomen-pycnogenol-verbessert-mikrozirkulation-im-innenohr/ 2025-07-21T13:35:48+00:00 daily 0.8 https://tinnitusnews.de/10-tinnitus-tag-der-deutschen-hoerakustiker-interdisziplinaere-fachtagung-gibt-einblicke-in-die-forschung-und-therapie/ 2024-10-06T22:32:45+00:00 daily 0.8 https://tinnitusnews.de/gedaechtnistraining-fuer-jedes-alter-mit-geocaching-das-gedaechtnis-jung-halten/ 2024-10-06T22:32:32+00:00 daily 0.8 https://tinnitusnews.de/viel-um-die-ohren-meereskiefernextrakt-verbessert-bei-tinnitus-symptomen-die-mikrozirkulation-im-innenohr/ 2024-10-06T22:32:20+00:00 daily 0.8 https://tinnitusnews.de/lauter-fan-support-beim-hallensport-mit-gehoerschutz-tinnitus-und-schwerhoerigkeit-vorbeugen/ 2024-10-06T22:32:04+00:00 daily 0.8 https://tinnitusnews.de/tinnitus-was-ihnen-jetzt-hilft/ 2024-10-06T22:31:09+00:00 daily 0.8 https://tinnitusnews.de/pm-tinnitus-was-die-osteopathie-leisten-kann/ 2024-10-06T22:30:23+00:00 daily 0.8 https://tinnitusnews.de/lenire-von-neuromod-bringt-laut-expertenkonsens-eine-tinnitusverbesserung-die-fuer-keine-andere-behandlung-nachgewiesen-werden-konnte/ 2025-07-21T13:35:48+00:00 daily 0.8 https://tinnitusnews.de/trainerin-fuer-positive-psychologie-erklaert-glueckliche-menschen-sind-gesuender/ 2024-10-06T22:29:47+00:00 daily 0.8 https://tinnitusnews.de/lenire-ergebnisse-der-juengsten-klinischen-studie-zum-tinnitus-behandlungsgeraet-in-nature-communications-veroeffentlicht/ 2025-07-21T13:35:48+00:00 daily 0.8 https://tinnitusnews.de/tinnitus-behandlung-real-world-daten-zur-wirksamkeit-des-lenire-geraets-stuetzen-ergebnisse-der-klinischen-studien/ 2024-10-06T22:29:14+00:00 daily 0.8 https://tinnitusnews.de/11-tinnitus-tag-der-deutschen-hoerakustiker-interdisziplinaere-fachtagung-zu-versorgung-und-therapie/ 2024-10-06T22:28:59+00:00 daily 0.8 https://tinnitusnews.de/tinnitus-so-draengen-sie-den-quaelgeist-in-den-hintergrund-viele-menschen-leiden-unter-unerklaerlichen-und-andauernden-ohrgeraeuschen-was-gegen-die-beschwerden-hilft/ 2025-07-21T13:35:48+00:00 daily 0.8