35 lines
781 B
PHP
35 lines
781 B
PHP
<?php
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use Closure;
|
|
use Illuminate\Http\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class MinifyHtml
|
|
{
|
|
|
|
public function handle($request, Closure $next)
|
|
{
|
|
$response = $next($request);
|
|
|
|
if (str_contains($response->headers->get('Content-Type'), 'text/html')) {
|
|
$content = $response->getContent();
|
|
|
|
$minify = preg_replace([
|
|
'/>\s+/s', // espacios después de tags
|
|
'/\s+</s', // espacios antes de tags
|
|
'/(\s)+/s' // múltiples espacios
|
|
], [
|
|
'>',
|
|
'<',
|
|
'\\1'
|
|
], $content);
|
|
|
|
$response->setContent($minify);
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
}
|