2024 年 PHP 日本研討會

Tidy 範例

這個簡單的範例展示了 Tidy 的基本用法。

範例 #1 Tidy 的基本用法

<?php
ob_start
();
?>
<html>一個 HTML 文件</html>
<?php
$html
= ob_get_clean();

// 指定設定
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200);

// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// 輸出
echo $tidy;
?>

新增註釋

使用者貢獻的註釋 3 則註釋

gk at anuary dot com
10 年前
如果您正在尋找 HTML 美化工具(一種用於縮排您的腳本產生的 HTML 輸出的工具),Tidy 擴充套件可能不是合適的工具。

首先,您不應該在正式程式碼中使用 Tidy 或替代方案(例如 HTML Purifier)。HTML 後處理是一項相對資源密集型的任務,尤其是在底層實作依賴於 DOM API 的情況下。然而,除了效能之外,正式環境中的 HTML 美化可能會隱藏更嚴重的輸出問題,這些問題將難以追蹤,因為輸出與輸入不一致。

如果您僅出於開發目的而要使用縮排(一致、可讀的輸出格式),那麼您可以考慮依賴正規表達式的實作。為此,我編寫了 https://github.com/gajus/dindent。前面提到的實作與後者之間的區別在於,基於正規表達式的實作不會嘗試清理、驗證或以其他方式操作您的輸出,除了確保正確的縮排之外。
i dot c dot lovett at NOSPAM dot gmail dot com
12 年前
任何嘗試按照 http://tidy.sourceforge.net/docs/quickref.html#indent 文件指定 "indent: auto" 的人

<?php
$tidy_options
= array('indent' => 'auto'); // 無法運作
$tidy_options = array('indent' => 2); // 等同於 auto

$tidy = new Tidy();
$tidy->parseString($html, $tidy_options);
?>
mmeisam at gmail dot com
4 年前
如果您使用 tidy 來清理 HTML,但只想格式化字串而不是整個 html 和 head 標籤,您可以使用以下的設定陣列:

<?php
$config
= [
'indent' => true,
'output-xhtml' => false,
'show-body-only' => true
];

$tidy = new tidy;
$tidy->parseString($your_html_code, $config, 'utf8');
$tidy->cleanRepair();

echo
$tidy;
?>
To Top