Mac用の「Text Wrangler」で編集しているPHPスクリプトがあります。
IDE でコーディングしている間、PHP コードをインデントして、よりクリーンで読みやすくしています。
しかし、サーバー上の localhost ページの「ソースの表示」を確認すると、html 出力に大量の空白が含まれており、まったく均一にフォーマットされていません。
HTML出力の書式設定やインデントを改善するためにできることはありますか?
まず、出力をフォーマットするのはなぜですか?ブラウザだけがそれを理解する必要があり、私たち全員が知っているように、私が今まで見た中で最悪のHTMLタグエラーを理解することさえできます;)
Webページをデバッグする場合は、ブラウザに統合された開発者ツールをお勧めします(たとえば、Google Chromeでは、を押しF12ます)。
ただし、出力を本当にインデントしたい場合は、出力をバッファリングできるob _ *()関数を使用して、出力を適切なHTMLフォーマッタに渡すことをお勧めします。
Tidy拡張機能を使用した短い例を次に示します。
ob_start();
// Now generate and output your HTML using your views, templates or whatever!
$html = ob_get_contents();
ob_end_clean();
// Specify configuration
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200
);
// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();
echo $tidy;
ob_start()のコールバック関数を使用することもできます。
ob_start(function ($html) {
// Specify configuration
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200
);
// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();
return str_val($tidy);
});
// Now generate and output your HTML using your views, templates or whatever!
ob_flush();
タブのインデントは、理由からどこにでもあるわけではありません。タブサイズは、出力を表示するエディターによって異なります。また、複数行にわたる配置にも影響します。複数の行にまたがる配置が必要な場合は、スペースを使用します。
ただし、ユーザーがHTMLを確認したり、気にしたりすることは決してないため、ユーザーが取得するHTML出力の調整については気にする必要はないと思います。表示されるのは、ブラウザで解析された結果だけです。これは本当にあなたにはまったく関係ないはずです。実際、これは帯域幅の浪費であり、エンドユーザーには何のメリットもありません。