The configuration reference for Tidy has moved to https://api.html-tidy.org/(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)
tidy::parseString -- tidy_parse_string β Π Π°Π·Π±ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Ρ ΡΠ°Π½ΠΈΠΌΠΎΠ³ΠΎ Π² ΡΡΡΠΎΠΊΠ΅
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ
$string, array|string|null $config = null, ?string $encoding = null): boolΠΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ
$string, array|string|null $config = null, ?string $encoding = null): tidy|falseΠ Π°Π·Π±ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Ρ ΡΠ°Π½ΠΈΠΌΠΎΠ³ΠΎ Π² ΡΡΡΠΎΠΊΠ΅.
stringΠΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ°.
config
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ config ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π΄Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅
ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½Π° ΡΡΡΠΎΠΊΠ°, ΡΠΎ ΠΎΠ½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ
ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΡΡ: » http://api.html-tidy.org/#quick-reference.
encoding
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ encoding ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Π΄Π»Ρ
Π²Ρ
ΠΎΠ΄Π½ΡΡ
/Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ascii, latin0, latin1,
raw, utf8, iso2022,
mac, win1252, ibm858,
utf16, utf16le, utf16be,
big5, ΠΈ shiftjis.
tidy::parseString() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
tidy_parse_string() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ tidy Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π ΠΌΠ΅ΡΠΎΠ΄, ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ false Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
| ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
| 8.0.0 |
config ΠΈ encoding ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null.
|
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ tidy::parseString()
<?php
ob_start();
?>
<html>
<head>
<title>ΡΠ΅ΡΡ</title>
</head>
<body>
<p>ΠΎΡΠΈΠ±ΠΊΠ°<br>Π΄ΡΡΠ³Π°Ρ Π»ΠΈΠ½ΠΈΡ</i>
</body>
</html>
<?php
$buffer = ob_get_clean();
$config = array('indent' => TRUE,
'output-xhtml' => TRUE,
'wrap' => 200);
$tidy = tidy_parse_string($buffer, $config, 'UTF8');
$tidy->cleanRepair();
echo $tidy;
?>Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
<!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">
<head>
<title>
ΡΠ΅ΡΡ
</title>
</head>
<body>
<p>
ΠΎΡΠΈΠ±ΠΊΠ°<br />
Π΄ΡΡΠ³Π°Ρ Π»ΠΈΠ½ΠΈΡ
</p>
</body>
</html>
The configuration reference for Tidy has moved to https://api.html-tidy.org/<?php
/**
* Simpler version without pretty print config options.
*/
function tidy_html5($html, array $config = [], $encoding = 'utf8') {
$config += [
'doctype' => '<!DOCTYPE html>',
'drop-empty-elements' => 0,
'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',
'tidy-mark' => 0,
];
$html = tidy_parse_string($html, $config, $encoding); // doctype not inserted
tidy_clean_repair($html); // doctype inserted
return $html;
}
$html = '</z><p><a href="#">Link</a></p><p><img src="logo.png"/>SeΓ§ond para</p><i class="fa"></i><p></p>';
echo tidy_html5($html);
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p><a href="#">Link</a></p>
<p><img src="logo.png">SeΓ§ond para</p>
<i class="fa"></i>
<p></p>
</body>
</html>
echo tidy_html5($html, ['indent'=>2, 'indent-spaces'=>4]);
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p><a href="#">Link</a></p>
<p><img src="logo.png">SeΓ§ond para</p><i class="fa"></i>
<p></p>
</body>
</html>
echo tidy_html5($html, ['indent'=>1], 'ascii');
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p>
<a href="#">Link</a>
</p>
<p>
<img src="logo.png">Seçond para
</p><i class="fa"></i>
<p></p>
</body>
</html>
echo tidy_html5($html, ['show-body-only'=>1]);
<p><a href="#">Link</a></p>
<p><img src="logo.png">SeΓ§ond para</p>
<i class="fa"></i>
<p></p><?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') {
$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>