PHP中的HTML缩进

PHP中的HTML缩进,php,html,indentation,Php,Html,Indentation,我有以下代码: <? if(is_home() || is_archive()): ?> <ul> <li><a href="<?= site_url('/category/one') ?>">One</a></li> <li><a href="<?= site_url('/category/two') ?>">Two</a></li> &l

我有以下代码:

<? if(is_home() || is_archive()): ?>
<ul>
  <li><a href="<?= site_url('/category/one') ?>">One</a></li>
  <li><a href="<?= site_url('/category/two') ?>">Two</a></li>
  <li><a href="<?= site_url('/category/three') ?>">Three</a></li>
</ul>
<? endif ?>

这将产生以下输出:

  <ul>
  <li><a href="http://domain/...">One</a></li>
  <li><a href="http://domain/...">Two</a></li>
  <li><a href="http://domain/...">Three</a></li>
</ul>
请注意,
是缩进的。如果我按预期使用以下it输出:

<? if(is_home() || is_archive()): ?><ul>
...
    ...

我知道这很简单,但我想知道是否有办法做到这一点,这样它在PHP和HMTL中仍然看起来不错;我喜欢干净的输出。

首先,如果html的格式很糟糕,你为什么会在意呢?我理解可能是为了可读性,但有html格式工具可用:例如

如果您担心html代码是否有效,请尝试使用适当的IDE或html验证程序:例如。

最后,回答你的问题: 将代码的开头更改为:

<?php if(is_home() || is_archive()){ echo "\n" ?><ul>
  <li><a href="<
...
<?php }?>

  • 首先,如果你的html格式很糟糕,你为什么会在意呢?我理解可能是为了可读性,但有html格式工具可用:例如

    如果您担心html代码是否有效,请尝试使用适当的IDE或html验证程序:例如。

    最后,回答你的问题: 将代码的开头更改为:

    <?php if(is_home() || is_archive()){ echo "\n" ?><ul>
      <li><a href="<
    ...
    <?php }?>
    

    • 好的。PHP在结束标记
      ?>
      之后吃掉一个换行符(
      \n
      \r\n
      ) 如中所述

      […]块的结束标记将包括紧随其后的换行符(如果有)


      评论中也提到了一个解决方法。如果要在
      ?>
      后面添加一个空格,表示一系列?>空格\n,换行符将保留其用途。-但是你需要依靠另一个看不见的角色来获得想要的效果。

      好的。PHP在结束标记
      ?>
      之后吃掉一个换行符(
      \n
      \r\n
      ) 如中所述

      […]块的结束标记将包括紧随其后的换行符(如果有)


      评论中也提到了一个解决方法。如果要在
      ?>
      后面添加一个空格,表示一系列?>空格\n,换行符将保留其用途。-但是,您需要依赖另一个不可见字符来获得所需的效果。

      PHP在结束标记
      ?>
      之后吃掉一个换行符。我不知道为什么之前会有空格。所以我想唯一的办法就是把开始标记放在同一行上,或者按两次回车键,或者我遗漏了什么?我觉得你能做的大多数整理输出的事情都会弄乱实际的代码,就我个人而言,我已经放弃熨烫t恤衫或关注HTML缩进。这个问题更多的是“为什么”和“是否有解决方案”。第一条评论似乎完美地解决了这个问题,我没有意识到这一点,如果发布为question@mario,我会接受。我现在可以找到替代方案了。PHP在结束标记
      ?>
      后吃掉一行换行符。我不知道为什么之前会有空格。所以我想唯一的办法就是把开始标记放在同一行上,或者按两次回车键,或者我遗漏了什么?我觉得你能做的大多数整理输出的事情都会弄乱实际的代码,就我个人而言,我已经放弃熨烫t恤衫或关注HTML缩进。这个问题更多的是“为什么”和“是否有解决方案”。第一条评论似乎完美地解决了这个问题,我没有意识到这一点,如果发布为question@mario,我会接受。我现在可以找到替代方案了。+1是一个有效的解决方案,但没有多大帮助。我的意思是PHP现在看起来更丑了。我会让HTML保持原样。这真的没关系,这基本上是出于好奇的问题……好吧。你可以吃你的蛋糕,但你不能也吃;-)+1是一个有效的解决方案,但没有多大帮助。我的意思是PHP现在看起来更丑了。我会让HTML保持原样。这真的没关系,这基本上是出于好奇的问题……好吧。你可以吃你的蛋糕,但你不能也吃;-)