Minificar el HTML de respuesta en Laravel 4

Dejo por aquí un sencillo, elegante y práctico filtro para Laravel 4 que nos permitirá minificar el código html generado por Laravel al devolver cualquier vista o blade.

Para ello, debemos editar el filtro App::after, definido en

app/filters.php

Y añadir el siguiente contenido:

App::after(function($request, $response)
{
    // HTML Minification
    if(App::Environment() != 'local')
    {
        if($response instanceof Illuminate\Http\Response)
        {
            $output = $response->getOriginalContent();
            // Clean comments
            $output = preg_replace('/<!--([^\[|(<!)].*)/', '', $output);
            $output = preg_replace('/(?<!\S)\/\/\s*[^\r\n]*/', '', $output);
            // Clean Whitespace
            $output = preg_replace('/\s{2,}/', '', $output);
            $output = preg_replace('/(\r?\n)/', '', $output);
            $response->setContent($output);
        }
    }
});

Con ello conseguimos que nuestra respuesta sea mucho más rápida a los clientes dado que eliminamos espacios en blanco, comentarios y otros elementos de nuestro código generado que los navegadores no necesitan.

Fuente original: Aquí