# tidy::__construct

(PHP 5, PHP 7, PECL tidy >= 0.5.2)

tidy::__construct — Constructs a new tidy object

### Description

public tidy::__construct ([ string `$filename` [, mixed `$config` [, string `$encoding` [, bool `$use_include_path` ]]]] )

Constructs a new tidy object.

### 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 » http://api.html-tidy.org/#quick-reference.

`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`.

`use_include_path`

  Search for the file in the include_path.

### Return Values

Returns the new tidy instance.

### Examples

Example #1 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;
}
?>`

The above example will output:

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

### See Also

- tidy::parseFile() - Parse markup in file or URI
- tidy::parseString() - Parse a document stored in a string