Oggi vediamo come comprimere html (minify) utilizzando una semplice funzione php.
Alcune volte si ha la necessità di dover comprimere inline porzioni di html utilizzando php. Grazie alla funzione sotto-riportata potete farlo in modo molto agevole.
function htmlCompress($html) { preg_match_all('!(<(?:code|pre|script).*>[^<]+</(?:code|pre|script)>)!',$html,$pre); $html = preg_replace('!<(?:code|pre).*>[^<]+</(?:code|pre)>!', '#pre#', $html); $html = preg_replace('#<!–[^\[].+–>#', '', $html); $html = preg_replace('/[\r\n\t]+/', ' ', $html); $html = preg_replace('/>[\s]+</', '><', $html); $html = preg_replace('/[\s]+/', ' ', $html); if (!empty($pre[0])) { foreach ($pre[0] as $tag) { $html = preg_replace('!#pre#!', $tag, $html,1); } } return $html; }
Per richiamare la funzione vi basterà fare come segue:
$html = ' <p style="text-align: center;">Esempio di testo html</p> <p style="text-align: center;">su più righe e spazi</p>'; echo htmlCompress($html);
Questo articolo ti è stato utile? Lascia un saluto nei commenti!