如何格式化生成的HTML源代码?

时间:2014-01-05 21:51:14

标签: php html

此代码

$table_rows = '';
foreach ($result as $row) {           
  $tr = '<tr>';
  $tr = $tr . '<td>' . $row['crn_name'] . '</td>';
  $tr = $tr . '<td>' . $row['crn_code'] . '</td>';
  $tr = $tr . '</tr>';            
  $table_rows = $table_rows . $tr;
}

生成此输出

<tr><td>forint</td><td>Ft</td></tr><tr><td>euro</td><td>€</td></tr>

它有效,但页面的源代码看起来很糟糕。我想生成一个更容易阅读的代码。这样的事情:

<tr>
  <td>forint</td>
  <td>Ft</td>
</tr>
<tr>
  <td>euro</td>
  <td>€</td>
</tr>

我该怎么办?!

5 个答案:

答案 0 :(得分:3)

整洁可能太多了。只需使用替代语法:

<?php foreach ($result as $row): ?>
  <tr>
    <td> <?= $row['crn_name']; ?> </td>
    <td> <?= $row['crn_code']; ?> </td>
  </tr>
<?php endforeach; ?>

答案 1 :(得分:1)

为输出添加合适的空格。如果直接输出HTML并且在需要PHP时只进入PHP模式,这会更容易。

<?php foreach ($result as $row) { ?>
<tr>
  <td><?php echo $row['crn_name']; ?></td>
  <td><?php echo $row['crn_code']; ?></td>
</tr>
<?php } ?>

答案 2 :(得分:1)

最简单的方法是在没有精心插入换行符,标签和空格的情况下使用tidy来实现这一点。

    $config = array(
            'indent'         => true,
            'output-xhtml'   => true,
            'show-body-only' => true,
            'wrap'           => false);

    $tidy = new tidy;
    $tidy->parseString($html, $config, 'utf8');
    $tidy->cleanRepair();

答案 3 :(得分:-1)

您可以使用返回 \ r 或换行符 \ n

答案 4 :(得分:-1)

是的,你可以。 只需将青色标签放在那里你想要空格,然后\ n回到每一行。

像这样的东西


    $table_rows = '';
    foreach ($result as $row) {           
      $tr = '\n';
      $tr = $tr . '     ' . $row['crn_name'] . '\n';
      $tr = $tr . '     ' . $row['crn_code'] . '\n';
      $tr = $tr . '\n';            
      $table_rows = $table_rows . $tr;
    }

或者你只能使用空格。但\ n&lt; - 换新线。祝你好运!

$table_rows = ''; foreach ($result as $row) { $tr = '<tr>\n'; $tr = $tr . ' <td>' . $row['crn_name'] . '</td>\n'; $tr = $tr . ' <td>' . $row['crn_code'] . '</td>\n'; $tr = $tr . '</tr>\n'; $table_rows = $table_rows . $tr; }