PHP Tidy - Clean HTML Tags, HTML code, HTML Source, Comments

Friday, March 2, 2012


Website Webpage Optimization part, HTML pages contain many unnecessary development usage section such as Comments, Indents, Empty Lines, Accidental Enclosed tags without End Tag, Unknown Closing Tag, These are very sensitive for Browser Compatibly Issues, Page Loading Time and Web Page Optimization



We can able to keep our Web pages keep away from Unnecessary things such Comments, Un closed Tags, Un closed End Tags using HTML Tidy Object from PHP.

Here is the Example Code for PHP tidy Object. with Examples.
With this Example We have to use tidy Object (Tidy Object need to Enabled in PHP Configuration).
Check with phpinfo() under Tidy. ob_get_clean() , parse HTML String with parseString() function from Tidy object, and Clean our HTML with cleanRepair()




You can find full Configuration of Tidy Object at Here Click here
<?php
// Start OutputBuffer
ob_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML Tidy Object PHP</title>
</head>
<body>

<!-- // HTML Comment by Developer and designer for code identification -->

<!-- Unclose Tag-->
<h1>Welcome to Tidy
<!-- Unclose End Tag-->
<p>This is an example for unlocsed para fix with tiday <p>


<!-- Unnecessary Blank Lines-->


<!-- Mutiple Closing Tags-->
<p>Multiple Closes</p></p>



</body>
</html>
<?php
// Store HTML Output Buffer as variable with ob_get_clean();
$html = ob_get_clean();

// Specify configuration
$config = array(
           'indent'=> false,
           'hide-comments' => true,
           'output-xhtml' => true,
           'wrap' => false
  );

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Output
echo $tidy;
?>

Output in Browser after HTML Cleanup


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML Tidy Object PHP</title>
</head>
<body>
<h1>Welcome to Tidy </h1>
<p>This is an example for unlocsed para fix with tiday</p>
<p> </p>
<p>Multiple Closes</p>
</body>
</html>

2 comments:

Anonymous said...

Hi Jailani,

This is really helpful to me for understanding the web page loading with user perspective.

Thanks,
Anwar

Ramesh said...

Thanks! for this code, Nizzzzzz..

Post a Comment