Minificar saída HTML usando PHP
Publicado por Carlos Vinícius dos Santos Dias em 10/02/2016
[ Hits: 5.739 ]
Blog: https://github.com/CViniciusSDias/
<?php
/**
 * @function minify Função que minifica a saída html
 * @param $buffer Recebe todo o buffer de saída, que seria o html normal
 * @return {string} Retorna o html minificado, sem espaços desnecessários ou comentários
 * @author <carlosv775@gmail.com> Vinicius Dias
 */
function minify($buffer)
{
    $search = array(
        "\n",
        "\t",
        "\r",
        "\r\n",
        "\n\r",
    );
    $replace = array();
    
    $buffer = str_replace($search, $replace, trim($buffer));
    
    $search = array(
        '/(\s){2,}/',
        '/\>(\s)+/',
        '/(\s)+\</',
        '/\{(\s)+/',
        '/(\s)+\{/',
        '/\}(\s)+/',
        '/(\s)+\}/',
        '/\((\s)+/',
        '/(\s)+\(/',
        '/\)(\s)+/',
        '/(\s)+\)/',
        '/\=(\s)+/',
        '/(\s)+\=/',
        '/&&(\s)+/',
        '/(\s)+&&/',
        '/(\s)+!/',
        '/<!--[^\[](.*?)-->/',
        '/\/\*(.*?)\*\//',
    );
    
    $replace = array(
        ' ',
        '>',
        '<',
        '{',
        '{',
        '}',
        '}',
        '(',
        '(',
        ')',
        ')',
        '=',
        '=',
        '&&',
        '&&',
        '!',
    );
    $buffer = preg_replace($search, $replace, $buffer);
    
    return $buffer;
}
ob_start("minify");
?>
Três novos módulos para Joomla 1.5
Servidor interno no PHP 5.4 para testes
Joomla 3.6.x - Resolvendo problema com instalação de extensões
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (4)
Mint Xfce não mantém a conexão no wi-fi (0)
Programa fora de escala na tela do pc (36)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









