-
-
Save garagesocial/6059962 to your computer and use it in GitHub Desktop.
Laravel Filter Helper - Compress HTML Output & Strip Comments
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
### --- Snip --- ### | |
App::after(function($request, $response) | |
{ | |
// HTML Minification | |
if(App::Environment() != 'local') | |
{ | |
if($response instanceof Illuminate\Http\Response) | |
{ | |
$output = $response->getOriginalContent(); | |
$filters = array( | |
'/<!--([^\[|(<!)].*)/' => '', // Remove HTML Comments (breaks with HTML5 Boilerplate) | |
'/(?<!\S)\/\/\s*[^\r\n]*/' => '', // Remove comments in the form /* */ | |
'/\s{2,}/' => ' ', // Shorten multiple white spaces | |
'/(\r?\n)/' => '', // Collapse new lines | |
); | |
$output = preg_replace(array_keys($filters), array_values($filters), $output); | |
$response->setContent($output); | |
} | |
} | |
}); | |
### --- Snip --- ### |
Same question here:
Learning Laravel. Where do you put this to make it work?
@rotaercz @KIrkOlson
In Laravel 4.x you should put it into app\filters.php
In modern Laravel 5.x according to the docs you should put it into middleware (see "Before & After Middleware" section).
public function handle($request, Closure $next) {
$response = $next($request);
// HTML Minification
....................
return $response;
}
Full Laravel 5.x Middleware to add to your projects, https://github.com/webciter/RemoveExcessWhitespaceMiddleware
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Learning Laravel. Where do you put this to make it work?