Grow your CSS skills. Land your dream job.

Last updated on:

HTML Tidy

function html_tidy( $input_html, $indent = "true", $no_body_tags = "true", $fix = "true" ) {
   ob_start(  );
   $tidy = new tidy;
   $config = array( 'indent' => $indent, 'output-xhtml' => true, 'wrap' => 200, 'clean' => $fix, 'show-body-only' => $no_body_tags );
   $tidy->parseString( $input_html, $config, 'utf8' );
   $tidy->cleanRepair(  );
   $input = $tidy;
   return $input;
}

Comments

  1. So, I’m thinking it would be cool to write the function html_print(); HTML print would basically be: function html_print($html){
    global $doc_html;
    $doc_html .= $html;
    }

    Then, at the end of the page, one could do echo html_tidy($doc_html); This would mean all the php generated html would be formatted nicely. Does that sound like a good idea to anyone else?

  2. Permalink to comment#

    The default function arguments would produce an error since tidy expects a boolean value, but you’re giving a string. The first line should be like so:

    function html_tidy( $input_html, $indent = TRUE,
                                                   $no_body_tags = TRUE, $fix = TRUE ) {

    Other than that, very good suggestion. :-)

  3. ghindows
    Permalink to comment#

    $function html_tidy( $input_file, $indent = true, $no_body_tags = false, $fix = true ) {
    $tidy = new tidy;
    //config is from http://tidy.sourceforge.net/docs/quickref.html
    $config = array( ‘indent’ => $indent,
    ‘output-html’ => true,
    ‘wrap-attributes’ => false,
    ‘wrap’ => 120,
    ‘show-body-only’ => $no_body_tags
    );
    $tidy->parseFile( $input_file, $config );
    $tidy->cleanRepair( );
    return tidy_get_output($tidy);
    }`

Leave a Comment

Posting Code

Markdown is supported in the comment area, so you can write inline code in backticks like `this` or multiline blocks of code in in triple backtick fences like ```this```. You don't need to escape code in backticks, Markdown does that for you.

Sadly, it's kind of broken. WordPress only accepts a subset of HTML in comments, which makes sense, because certainly some HTML can't be allowed, like <script> tags. But this stripping happens before the comment is processed by Markdown (via Jetpack). It seems to me that would be reversed, because after Markdown processes code in backticks, it's escaped, thus safe. If you think you can fix this issue, get in touch!

If you need to make sure the code (typically HTML) you post absolutely posts correctly, escape it and put it within <pre><code> tags.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".