代码之家  ›  专栏  ›  技术社区  ›  evanmcd

在PHP中使用单引号创建制表符和换行符的正确方法是什么?

  •  1
  • evanmcd  · 技术社区  · 14 年前

    似乎是个简单的问题,但我在任何地方都找不到确切的答案。我正在输出大量的HTML,发现转义很容易出错,很难阅读,但我也希望我的HTML格式很好。

    想要这样的东西(尽管我知道这样不行):

    echo '<div id="test">\n';
    echo '\t<div id="test-sub">\n';
    echo '\t</div>\n';
    echo '</div>\n';
    

    一个人该怎么办?

    4 回复  |  直到 14 年前
        1
  •  3
  •   Haim Evgi    14 年前

    你看了吗 HEREDOC

    Heredoc文本的行为就像 双引号字符串,不带 双引号。这意味着引用 在遗传中不需要逃走

    这里的优势示例: http://www.shat.net/php/notes/heredoc.php

        2
  •  4
  •   Hannes    14 年前

    有很多方法可以确保这一点,例如(PHP-EOL是新行Char(EndOfLine)的cross-Platt形式常量):

    echo "<div id=\"test\">".PHP_EOL;
    echo "\t<div id=\"test-sub\">".PHP_EOL;
    echo "\t</div>".PHP_EOL;
    echo "</div>".PHP_EOL; 
    
        3
  •  -1
  •   Hammerite    14 年前

    为了输出格式良好的HTML,我使用了我编写的一组小类。如果你感兴趣,你可以找到它 here .

    为了得到你想要的,我会写些

    $mypage = page::blank();
    $mypage->opennode('div', 'id="test"');
    $mypage->opennode('div', 'id="test-sub"');
    $mypage->closenode(2); // div, div
    echo $mypage->build_output_strict();
    

    另一种选择是使用成熟的模板引擎,其中有很多。

        4
  •  -1
  •   SilentGhost    14 年前

    或多行回音字符串:

    echo '<div id="test">
        <div id="test-sub">
        </div>
    </div>';
    

    或模板。