【发布时间】:2014-08-27 04:14:06
【问题描述】:
作为一个完美主义者,我喜欢 PHP 输出有效且正确缩进的 HTML。
我有一些具有 IT 意识的用户的复杂 web 应用程序,他们希望能够查看源代码而不是乱码。
目前我使用我写的这个函数:
function nl($tabs = 0)
{
return "\r\n" . str_repeat("\t", $tabs);
}
像这样使用它来添加换行符和所需的制表符数:
if(array_key_exists('field', $row)){
echo '<td>' . $row['field'] . '</td>' . nl(4);
}
PHP 有什么内置的东西,或者有一个类可以用来自动执行缩进吗?
【问题讨论】:
-
在过去拥有可读的 HTML 是编写者的工作,现在这是由浏览器使用 Firebug 或 Chrome 的开发者工具等工具自动完成的。你应该专注于让你的 PHP 可读而不是输出(HTML)。
-
@panther Trollololol,因为 Linux 仍然是网络之王(并且无需支付许可费)。我在请求/需要的地方使用 .NET,但它通常是需要的开源代码。
-
@DannyBeckett:你的浏览器没有源代码的美化按钮吗?这样就省去了编写所有那些毫无意义(在你的情况下是有缺陷的)缩进函数的麻烦。我的意思是有缺陷的,例如
return "\r\n"应该是return PHP_EOL -
我不会那样做,但你可以将你的 html 收集到一个变量中(或通过 output_buffering)并在回显之前对其进行解析。
-
也许你可以编写像'openTag'、'closeTag'和
writeContent这样的函数。前两个可以增加和减少缩进计数器。但是这样做意味着有很多额外的函数调用,可能会导致页面稍微变慢。此外,并非所有 HTML 标记(与 XML 不同)都需要关闭,因此可能会打乱您的缩进。
标签: php html indentation auto-indent view-source