class MinifyMiddleware
{
public function handle(Request $request, Closure $next)
{
$response = $next($request);
$buffer = $response->getContent();
if (strpos($buffer,'<pre>') !== false)
{
$replace = array(
'/<!--[^\[](.*?)[^\]]-->/s' => '',
"/<\?php/" => '<?php ',
"/\r/" => '',
"/>\n</" => '><',
"/>\s+\n</" => '><',
"/>\n\s+</" => '><',
);
}
else if (strpos($buffer,'<code>') !== false)
{
$replace = array(
...
);
}
else if (strpos($buffer,'<textarea>') !== false)
{
$replace = array(
...
);
}
else
{
$replace = array(
'/<!--[^\[](.*?)[^\]]-->/s' => '',
"/<\?php/" => '<?php ',
"/\n([\S])/" => '$1',
"/\r/" => '',
"/\n/" => '',
"/\t/" => '',
"/ +/" => ' ',
);
}
$buffer = preg_replace(array_keys($replace), array_values($replace), $buffer);
$response->setContent($buffer);
return $response;
}
}