我有一个 PHP 脚本,正在 Mac 的“Text Wrangler”中编辑。
在 IDE 中编码时,我将 PHP 代码缩进,以使其更清晰易读。
但是,当我在服务器上检查我的 localhost 页面的“查看源代码”时,html 输出有大量空格,并且格式根本不均匀。
我能做些什么来获得更好的 html 输出格式甚至缩进吗?
首先,为什么要格式化输出?只有浏览器必须理解它,众所周知,它甚至可以理解我见过的最糟糕的 HTML 标签错误;)
如果您想调试您的网页,我建议您在浏览器中集成开发人员工具(例如在 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 或关心它,他们也不应该这样做。他们应该看到的只是浏览器中的解析结果。这对你来说真的不重要。事实上,这是对带宽的浪费,对最终用户没有任何好处。