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!






