When we write code we love to format it nicely adding tabs, line breaks and indentations, but the end user isn’t interested in how lovely the source code is, they just want the page content, so this script strips out all the line breaks and spaces in your code and puts it on one line, compressing your code and making it faster.
<?php
// start output buffer
ob_start('compress_html');
?>
<!-- all xhtml content here -->
<?php
// end output buffer and echo the page content
ob_end_flush();
// this function gets rid of tabs, line breaks, and white space
function compress_html($compress)
{
$i = array('/>[^S ]+/s','/[^S ]+</s','/(s)+/s');
$ii = array('>','<','1');
return preg_replace($i, $ii, $compress);
}
?>
Doesn’t work. It breaks simple HTML5 code… (PHP5.2, UTF-8)
I hate to be a kill joy, but this isn’t technically “compressing”.
GZip, Deflate, ZLib etc. – That is Compression.
This is simply stripping unwanted chars.
Hi,
Whether i need to add the html codes instead of
Right???
This script doesn’t seem to work for me. I’ve literally followed instructions and placed the top code at the very top of the .php page and the bottom at the very bottom with no space and HTML in between. However on output all comments, line breaks and white space still remain. Is there something else I’m missing?
I was actually looking to figure out a way to do something similar to this. Ideally I just wanted a php script which would scan through the html doc and remove all HTML comments. I use a lot of comments whilst in development but don’t necessarily want these to go live and the manual way of stripping them out is a bit of a chore.
Any chance you could show how I can alter the script to do this?
Where do you call the function?
All it’s doing, is starting the buffer, echoing the content, then ending the buffer.
Cheers,
Ryan.
Hello,
i dont anderstand where to put this php code.
In the function,head,index?
In the body tag?
Will be great if you will explain it to me.
Thanks
Jutta
Designer and web developer, Co-founder and Technical Director at Harkable.com London. Previously I worked at InMobi, Spotify and MySpace. Interests include photography and making short videos. Also an avid F1 fan.
Follow us on Twitter and get in-stream updates.
Subscribe to all the Papermashup tutorials and articles straight to your RSS reader.
Sign up and get all the Papermashup tutorials straight to your inbox.
10 discussions around Compress your HTML code using PHP