Funzione per comprimere html con php

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!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

guida-mongodb
Up Next:

Guida al backup e ripristino di un database mongodb

Guida al backup e ripristino di un database mongodb