0

作为一个完美主义者,我喜欢 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 有什么内置的,或者有一个类可以用来自动缩进吗?

4

1 回答 1

8

使用输出缓冲区时,您可以使用 DOMDocument 并将 formatOutput 设置为 true,然后再将缓冲区刷新到客户端/浏览器。

IE:

libxml_use_internal_errors( TRUE );

$dom = new DOMDocument();
$dom->validateOnParse = FALSE;
$dom->preserveWhiteSpace = TRUE;
$dom->formatOutput = TRUE;
$om->loadHTML( mb_convert_encoding( ob_get_contents(), 'UTF-8' ) );

libxml_clear_errors();

/*
 perform any other operations on dom elements you wish
*/

$buffer = $dom->saveHTML();
ob_end_clean();
echo trim( $buffer );/* send data to client/browser */
于 2014-07-06T16:09:04.500 回答