-1

我有一个 PHP 脚本,正在 Mac 的“Text Wrangler”中编辑。

在 IDE 中编码时,我将 PHP 代码缩进,以使其更清晰易读。

但是,当我在服务器上检查我的 localhost 页面的“查看源代码”时,html 输出有大量空格,并且格式根本不均匀。

我能做些什么来获得更好的 html 输出格式甚至缩进吗?

4

2 回答 2

2

首先,为什么要格式化输出?只有浏览器必须理解它,众所周知,它甚至可以理解我见过的最糟糕的 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(); 
于 2012-12-10T22:26:37.297 回答
0

制表符缩进并不普遍是有原因的。选项卡大小可能因您查看输出的编辑器而异。它还会影响多行的对齐方式。如果要跨多行对齐,请使用空格。

但是,我通常认为不应该关心对齐用户获得的 HTML 输出,因为用户永远不会查看您的 HTML 或关心它,他们也不应该这样做。他们应该看到的只是浏览器中的解析结果。这对你来说真的不重要。事实上,这是对带宽的浪费,对最终用户没有任何好处。

于 2012-12-10T22:26:46.050 回答