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

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
    ``` 
    <div>
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
    </div>
    ```
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

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