tidy::__construct

Constructs a new `tidy` object

&reftitle.description; public `tidy::__construct` ``string``null```filename`&null; ``array``string``null```config`&null; ``string``null```encoding`&null; `bool` `useIncludePath`&false;

Constructs a new `tidy` object.

&reftitle.parameters;

`filename`

- If the `filename` parameter is given, this function will also read that file and initialize the object with the file, acting like `tidy_parse_file`.

`config`

- The config `config` can be passed either as an array or as a string. If a string is passed, it is interpreted as the name of the configuration file, otherwise, it is interpreted as the options themselves.

  For an explanation about each option, visit &url.tidy.conf;.

`encoding`

- The `encoding` parameter sets the encoding for input/output documents. The possible values for encoding are: `ascii`, `latin0`, `latin1`, `raw`, `utf8`, `iso2022`, `mac`, `win1252`, `ibm858`, `utf16`, `utf16le`, `utf16be`, `big5`, and `shiftjis`.

`useIncludePath`

- Search for the file in the include_path.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `filename`, `config`, `encoding` and `useIncludePath` are nullable now.

&reftitle.examples;

### `tidy::__construct` example

    <?php

    $html = <<< HTML

    <!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" xml:lang="en" lang="en">
    <head><title>title</title></head>
    <body>
    <p>paragraph <bt />
    text</p>
    </body></html>

    HTML;

    $tidy = new tidy();
    $tidy->ParseString($html);

    $tidy->cleanRepair();

    if ($tidy->errorBuffer) {
        echo "The following errors were detected:\n";
        echo $tidy->errorBuffer;
    }

    ?>

&example.outputs;

    The following errors were detected:
    line 8 column 14 - Error: <bt> is not recognized!
    line 8 column 14 - Warning: discarding unexpected <bt>

&reftitle.seealso;

- `tidy::parseFile`
- `tidy::parseString`