tidy::cleanRepair()
(PHP 5, PHP 7, PECL tidy >= 0.5.2)
对已分析的标记执行配置的清理和修复操作
说明
面向对象风格public tidy::cleanRepair(void): bool
过程化风格
tidy_clean_repair(tidy$object): bool
参数
- $object:Tidy对象。
返回值
成功时返回TRUE,或者在失败时返回FALSE。
范例
tidy::cleanrepair()
<?php $html = '<p>test</I>'; $tidy = tidy_parse_string($html);$tidy->cleanRepair() ; echo $tidy; ?>
以上例程会输出:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title></title> </head> <body> <p>test</p> </body> </html>
参见
- tidy::repairFile() 修复文件并将其作为字符串返回
- tidy::repairString() 使用可选提供的配置文件修复字符串
<?php
/**
* UTF-8 HTML5-compatible Tidy
*
* @param string $html
* @param array $config
* @param string $encoding
*/
function tidy_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-mark' => FALSE,
'wrap' => 0,
// HTML5 tags
'new-blocklevel-tags' => 'article aside audio bdi canvas details dialog figcaption figure footer header hgroup main menu menuitem nav section source summary template track video',
'new-empty-tags' => 'command embed keygen source track wbr',
'new-inline-tags' => 'audio command datalist embed keygen mark 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="#">Link</a></p><p>Second para</p>';
echo tidy_html5 ($html);
以上例程会输出:
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <p><a href="#">Link</a></p> <p>Second para</p> </body> </html>
