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

时间:2010-03-26 23:34:12

标签: php html formatting

我喜欢使用标签格式化我的所有HTML,以获得整洁和可读性。最近我开始使用PHP,现在我有很多来自PHP标签之间的HTML输出。这些输出线都排在屏幕左侧的一侧。我必须使用/n制作一行到下一行。有什么类似的强制标签,或任何方式来从PHP得到整洁的HTML输出?

3 个答案:

答案 0 :(得分:7)

如果你输出相对较大的html块,那么HEREDOC语法将帮助你按照你想要的方式格式化html,而不用使用php来打扰echo标签。

$html = <<<HTML
<html>
  <head><title>...</title></head>
  <body>
     <div>$phpVariable</div>
  </body>
</html>
HTML;

如果您使用某种工具来解析您的html,请记住它还会为每个请求增加额外的处理和数据负载开销,因此您可能只想进行调试。

答案 1 :(得分:4)

tidy extension可帮助您(重新)格式化您的html输出 但它附有一点价格标签。解析输出并构建html dom并不是完全免费的。

编辑:也可能只是在寻找\t“字符”。 E.g。

<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>

答案 2 :(得分:0)

<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>

Reference