如何从PHP编辑器中确保格式良好的html输出

时间:2012-12-10 22:19:05

标签: php html markup

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

在IDE中进行编码时,我正在缩进PHP代码,以使其更加干净和可读。

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

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

2 个答案:

答案 0 :(得分: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(); 

答案 1 :(得分:0)

选项卡缩进不是无处不在的原因。选项卡大小可能因您查看输出的编辑器而异。它还会影响多行的对齐。如果要跨多行对齐,请使用空格。

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