【问题标题】:New line ("\n") in PHP is not workingPHP 中的新行 ("\n") 不起作用
【发布时间】:2012-09-06 19:15:52
【问题描述】:

由于某些奇怪的原因,插入echo "\n"; 和其他转义序列字符对我不起作用,这就是我只使用<br /> 的原因。

书籍和其他文档中示例结果的图像看起来还不错。我目前正在使用 XAMPP,并且已经使用了具有相同实际结果的 WAMPP。这是为什么?

编辑:

在将您的答案与以下内容进行比较后,我似乎无法理解这个概念: PHP Linefeeds (\n) Not Working

编辑:

对不起,我没有意识到上面的链接是指写入文件的 php 代码。我只是想知道为什么我有这些使用 \n 的几个 php 示例程序,即使它在网页中输出。谢谢大家。

【问题讨论】:

  • 因为你输出的是 HTML,而在 HTML 中,"\n" 被视为空格?
  • 我想强调一下,我使用的是双引号,它们嵌入在 php 代码中。我使用的文件扩展名也是.php。
  • 在 HTML 中,换行符仅在 white-space: pre 或类似的上下文中被视为这样(pre 元素的默认样式/行为)。在其他 HTML 上下文中,换行符被视为空格。
  • PHP 输出到浏览器(通常),默认情况下将输出呈现为 HTML。使用header('Content-type: text/plain'); 将导致输出呈现为纯文本。

标签: php xampp


【解决方案1】:

/n 仅在用作简单文本时才有效,但在这里我们在 html 文档中编码时,它会将其作为 HTML 文本,因此您可以改用 </br> 标记。

【讨论】:

    【解决方案2】:

    如果您使用 HTML(例如在浏览器中查看结果),则必须使用 HTML 换行方式,即:<br>

    【讨论】:

      【解决方案3】:

      echo "\n" 可能正在工作,只是不是您期望的那样。

      该命令将插入一个换行符。从它的声音来看,您正在使用浏览器查看您的输出。请注意,如果您编写的 HTML 文件的正文内容如下所示:

      <p>This
      is
      a
      test </p>
      

      浏览器渲染不会包含新行,而只会显示“这是一个测试”

      如果您想查看换行符,可以查看源代码,您会看到源代码包含换行符。

      经验法则是,如果您需要在浏览器中换行,则需要使用 HTML(例如 &lt;br /&gt;),而如果您想要纯文本,则可以使用 \n

      【讨论】:

        【解决方案4】:

        当您在浏览器中运行 PHP 脚本时,默认情况下它将呈现为 HTML。如果您使用的书籍另有显示,则代码或插图不准确。您可以使用“查看源代码”查看发送到浏览器的内容,您会看到换行符存在。

        <?php
        echo "Line 1\nLine 2";
        ?>
        

        这将在您的浏览器中呈现为:

        Line 1 Line 2
        

        如果你需要向浏览器发送纯文本,你可以使用类似的东西:

        <?php
        header('Content-type: text/plain');
        echo "Line 1\nLine 2";
        ?>
        

        这将输出:

        Line 1
        Line 2
        

        PHP Linefeeds (\n) Not Working 是指将输出发送到文件而不是浏览器。

        【讨论】:

        • 一个文件而不是浏览器输出。就是这样!
        • 我认为您的问题已解决?
        • 是的,我认为这只是对那个帖子的误解。谢谢。
        • > 当您在浏览器中运行 PHP 脚本时
        【解决方案5】:

        您可以使用nl2br 函数将\n 转换为&lt;br&gt;

        如前所述,HTML 不会将\n 呈现为新行。它只识别&lt;br&gt; html标签

        【讨论】:

          【解决方案6】:

          您应该寻找nl2br()。这将在浏览器呈现的输出中添加换行符(&lt;br&gt;);换行符不是。

          【讨论】:

            【解决方案7】:

            &lt;br /&gt; 是换行的 HTML 标签,而 "\n" 是输出一个新行(真实)。

            每次 HTML 文件进入下一行时,浏览器不会输出新行。

            【讨论】:

              猜你喜欢
              • 2012-05-07
              • 1970-01-01
              • 1970-01-01
              • 2017-11-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多