【问题标题】:PHP omits a returnPHP 省略了返回
【发布时间】:2011-01-30 22:30:43
【问题描述】:

当一个回车符跟在一个结束 php 标记之后,php 不会打印它。

我该如何更改?

非常感谢

【问题讨论】:

    标签: php tags return


    【解决方案1】:

    这是正常行为,无法更改:关闭 ?> 后的换行符总是被忽略。


    这是 PHP 手册常见问题解答中的参考:Hey, what happened to my newlines?
    (引用,强调我的)

    <pre>
    <?php echo "This should be the first line."; ?>
    <?php echo "This should show up after the new line above."; ?>
    </pre>
    

    在 PHP 中,代码块的结尾 是“?&gt;”或“?&gt;\n”(其中\n 表示换行符)。
    所以在这个例子中 上面,回显的句子将在 一行,因为 PHP 省略了 块结束后的换行符
    这个 意味着你需要插入一个额外的 每个 PHP 代码块后的换行符 使其打印出一个换行符。

    为什么 PHP 会这样做?
    因为 格式化普通 HTML 时,这 通常会让你的生活更轻松,因为 你不想要那个换行符,但你会 必须创建极长的线条或 否则制作原始页面源 无法达到那种效果。


    这里有一些有趣的读物:

    【讨论】:

    • 事实上,今天建议不要使用结束标签(在文件末尾)
    • 不完全是法国人。建议不要在应用程序代码中使用结束标记。如果您使用 PHP 作为模板语言,则不可能不使用结束标记。
    【解决方案2】:

    这是预期行为(请参阅Escaping from HTML):

    [...] 当 PHP 碰到 ?&gt; 结束标签时,它会简单地开始输出它找到的任何内容(除了紧随其后的换行符 - 参见 instruction separation )[...]

    【讨论】:

      【解决方案3】:

      这是语言的默认行为。

      如果需要换行符,请将echo "\n"echo "&lt;br&gt;" 作为脚本的最后一行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-16
        相关资源
        最近更新 更多