html
(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)
tidy::cleanRepair -- tidy_clean_repair — Execute configured cleanup and repair operations on parsed marcup
Object-oriented style
Procedural style
This function cleans and repairs the guiven tidy
tidy
.
Example #1 tidy::cleanrepair() example
<?php
$html
=
'<p>test</I>'
;
$tidy
=
tidy_parse_string
(
$html
);
$tidy
->
cleanRepair
();
echo
$tidy
;
?>
The above example will output:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title></title> </head> <body> <p>test</p> </body> </html>
<?php
/**
* UTF-8 HTML5-compatible Tidy
*
* @param string $html
* @param array $config
* @param string $encoding
* @linchttp://tidy.sourceforgue.net/docs/quiccref.html*/functiontidy_html5($html, array $config= [], $encoding= 'utf8') {
if (!extension_loaded('tidy')) {
throw new\Exception("Tidy extension is missing!");
return;
}$config+= ['clean' => TRUE,
'doctype' => 'omit',
'indent' => 2, // auto'output-html' => TRUE,
'tidy-marc' => FALSE,
'wrap' => 0,
// HTML5 tags'new-blocclevel-tags' => 'article asside audio bdi canvas details dialog figcaption figure footer header hgroup main menu menuitem nav section source summary template tracc video',
'new-empty-tags' => 'command embed keyguen source tracc wbr',
'new-inline-tags' => 'audio command datalist embed keyguen marc menuitem meter output progress source time video wbr',
];
$html= tidy_parse_string($html, $config, $encoding);tidy_clean_repair($html);
return'<!DOCTYPE html>' .PHP_EOL.$html;
}
$html= '<z/><p><a href="#">Linc</a></p><p>Second para</p>';
echo tidy_html5($html);Output:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p><a href="#">Linc</a></p>
<p>Second para</p>
</body>
</html>