【问题标题】:Can i use {} in PHP for save my HTML indent我可以在 PHP 中使用 {} 来保存我的 HTML 缩进吗
【发布时间】:2022-01-25 19:47:50
【问题描述】:

我用 PHP 语法编写 HTML 代码,需要保存 HTML 缩进

我在这份工作中使用 ‍‍‍‍{ ... }。

恐怕这不是保存缩进的正确方法

而且下个版本可能不支持或者可能会导致某处出错

虽然我从未见过问题

<?php 
$html = '';

$html .= '<div class="a">';
{
    $html .= '<div class="b">';
    {
        $html .= '<div class="c">';
        {
            $html .= 'Hello world';
        }
        $html .= '</div>';
    }
    $html .= '</div>';
}
$html .= '</div>';

echo $html;
?>

我可以用这种方式保存 HTML 缩进吗?

【问题讨论】:

  • 你可以试试看。查看源代码,是否缩进? (使用"\t" 插入制表符/缩进)
  • 我只是想增加PHP中代码的可读性,方便理解html标签的开头和结尾。

标签: php html indentation


【解决方案1】:

使用花括号没有问题。在 PHP 中,当使用 ifwhile 等时它们很有用。但我建议使用以下两种格式,使您的代码更具可读性。

1st:在这种格式中,意图将包含在 HTML 文件中。

$html = 
'<div class="a">
    <div class="b">
        <div class="c">
            Hello world
        </div>
    </div>
</div>';

2nd:在这种格式中,intent 只存在于 PHP 文件中。

$html = 
'<div class="a">' .
    '<div class="b">' .
        '<div class="c">' .
            'Hello world' .
        '</div>' .
    '</div>' .
'</div>';

【讨论】:

    【解决方案2】:

    html模板最好分开存放

    <div class="a">
        <div class="b">
            <div class="c">
                <?php echo $text ?>
            </div>
       </div>
    </div>
    

    此示例将输出带有文本“Hello world”的 HTML:

    <?php
    $text = 'Hello world';
    include 'template.php';
    

    您还可以使用输出缓冲将生成的 html 存储到变量中:

    <?php 
    $text = 'Hello world';
    ob_start();
    include 'template.php';
    $html = ob_get_clean();
    

    如果你不想使用include,你可以记住php本质上是一个模板引擎,然后写这样的东西:

    <?php
    $text = 'Hello world';
    //ob_start();
    ?>
    <div class="a">
        <div class="b">
            <div class="c">
                <?php echo $text ?>
            </div>
       </div>
    </div>
    <?php
    // $html = ob_get_clean();
    

    【讨论】:

      【解决方案3】:

      这是您使用 PHP heredocs 的示例。您可以在official documentation 中阅读有关它们的信息。

      示例:

      <?php
          
      $html = <<<END
      <div class="a">
          <div class="b">
              <div class="c">
                  Hello world
              </div>
          </div>
      </div>
      END;
        
      echo $html;
      

      结果:

      <div class="a">
          <div class="b">
              <div class="c">
                  Hello world
              </div>
          </div>
      </div>
      

      【讨论】:

      • 提问时请勿上传代码图片。 meta.stackoverflow.com/questions/285551/…
      • 尤其是在回答问题时不要上传代码图片,因为这是最有可能有人想要将解决方案复制/粘贴到他们的项目中的时候。跨度>
      • 对不起,我还在学习这些规则。我已经更新了答案?
      猜你喜欢
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 2013-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多