CakeFest 2024: The Official CakePHP Conference

tidy::cleanRepair

tidy_clean_repair

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

tidy::cleanRepair -- tidy_clean_repairВыполнить настроенную очистку и восстановление разобранной разметки

Описание

Объектно-ориентированный стиль

public tidy::cleanRepair(): bool

Процедурный стиль

tidy_clean_repair(tidy $tidy): bool

Функция очищает и восстанавливает полученный tidy-объект tidy.

Список параметров

tidy

Объект Tidy.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Пример использования tidy::cleanrepair()

<?php
$html
= '<p>тест</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>тест</p>
</body>
</html>

Смотрите также

  • tidy::repairFile() - Восстанавливает разметку файла и возвращает его в виде строки
  • tidy::repairString() - Восстанавливает строку, используя по возможности конфигурационный файл
add a note

User Contributed Notes 1 note

up
2
steven at nevvix dot com
5 years ago
<?php
/**
* UTF-8 HTML5-compatible Tidy
*
* @param string $html
* @param array $config
* @param string $encoding
* @link http://tidy.sourceforge.net/docs/quickref.html
*/
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);

Output:
<!
DOCTYPE html>
<
html>
<
head>
<
title></title>
</
head>
<
body>
<
p><a href="#">Link</a></p>
<
p>Second para</p>
</
body>
</
html>
To Top