如何从PHP输出格式化的HTML?

4

我喜欢使用制表符对我的HTML进行格式化,以保持整洁和易读性。最近我开始使用PHP,现在我有很多来自PHP标记之间的HTML输出。这些输出行都在屏幕左侧对齐。我必须使用/n使一行进入下一行。是否有类似于此的内容可以强制使用制表符,或者有没有办法让来自PHP的HTML输出更整洁?

3个回答

8
如果您正在输出相对较大的HTML块,则使用HEREDOC语法可以帮助您按照所需格式设置HTML,而无需使用PHP打印标签。
$html = <<<HTML
<html>
  <head><title>...</title></head>
  <body>
     <div>$phpVariable</div>
  </body>
</html>
HTML;

如果您使用某些工具来解析您的HTML,请记住它也会为每个请求添加额外的处理和数据负载,因此您可能只想出于调试目的才这样做。

4

有一个 tidy扩展 可以帮助您(重新)格式化html输出。
但这需要一些代价。解析输出并构建html dom并不是完全免费的。

编辑:也可能只是在寻找 \t 字符。例如:

<html>
  <head><title>...</title></head>
  <body>
<?php
  for($i=0; $i<10; $i++) {
    echo "\t\t<div>$i;</div>\n";
  }
?>
  </body>
</html>

您可以将php/html代码嵌套和缩进,使输出的内容排版整齐。以下是一个丑陋的示例:

<html>
  <head><title>...</title></head>
  <body>
<?php for($i=0; $i<10; $i++) { ?>
    <div><?php echo $i; ?></div>
<?php } ?>
  </body>
</html>

-1
<html>
    <head><title>...</title></head>
    <body>
<?php for($i=0; $i<10; $i++) { ?>
    <div><?php echo $i; ?></div>
<?php } ?>
</body>
</html>

实际上这是一个很好的例子,但在这种情况下最好使用另一种方法来完成。

<html>
    <head><title>...</title></head>
    <body>
<?php for($i=0; $i<10; $i++): ?> // notice the colon
    <div><?php echo $i; ?></div>
<?php endfor; ?>
</body>
</html>

参考资料


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接