【问题标题】:How to add a line break within echo in PHP? [closed]如何在 PHP 中的 echo 中添加换行符? [关闭]
【发布时间】:2012-10-21 03:44:21
【问题描述】:

我试图为一个句子添加换行符,我在下面的代码中添加了/n

echo "Thanks for your email. /n  Your orders details are below:".PHP_EOL;
echo 'Thanks for your email. /n  Your orders details are below:'.PHP_EOL;

由于某些原因,导致出现服务器错误。我该如何解决?

【问题讨论】:

  • 使用反斜杠,这不是正确转义的字符\n。但是服务器错误与此尝试无关,请查看 apache log 并检查__(arg)docu
  • 欢迎来到 Stackoverflow。在发布任何问题之前,请按照您需要确认的ask advice。请记住,只有您想要某样东西并且您问自己它是如何编程的本身并不符合编程问题。
  • \n 是换行符。 /n 不是。在stackhowto.com/how-to-add-a-new-line-within-echo-in-php中查看更多详细信息

标签: php


【解决方案1】:

\n 是换行符。 /n 不是。


\n 用于

1。直接回显到页面

现在,如果您尝试将字符串回显到页面:

echo  "kings \n garden";

输出将是:

kings garden

您不会在新行中得到garden,因为PHP 是一种服务器端语言,并且您将输出作为HTML 发送,您需要在HTML 中创建换行符。 HTML 不理解 \n。为此,您需要使用 nl2br() 函数。

它的作用是:

返回在所有换行符(\r\n、\n\r、\n 和 \r)之前插入 <br /><br> 的字符串。

echo  nl2br ("kings \n garden");

Output

kings
garden

注意确保您在双引号中回显/打印\n,否则它将按字面意思呈现为\n。因为 php 解释器使用 as is

的概念解析单引号中的字符串
so "\n" not '\n'

2。写入文本文件

现在,如果您回显到文本文件,您可以只使用\n,它会回显到新行,例如:

$myfile = fopen("test.txt", "w+")  ;

$txt = "kings \n garden";
fwrite($myfile, $txt);
fclose($myfile);
 

输出将是:

kings
 garden

【讨论】:

  • 对上述内容进行扩展。这有效 - 示例 -> echo ""."\n";或 echo "国王花园"."\n";在第一行之后添加一个换行符。当我想在回声后添加换行符时,谷歌将我带到了这里。
【解决方案2】:

使用 echo 时必须使用 br ,如下所示:

echo "Thanks for your email" ."<br>". "Your orders details are below:"

它会正常工作

【讨论】:

  • 这不适用于 html 文档
  • 当您在 php/服务器端语言文件中回显它们时,这将不起作用
【解决方案3】:

换行符是\n,像这样:

echo __("Thanks for your email.\n<br />\n<br />Your order's details are below:", 'jigoshop');

【讨论】:

  • 什么是前缀__(两个下划线)?
  • @PeterMortensen 它是一些 PHP 框架中支持国际化的功能。原始帖子使用了它,这就是我将其添加到我的答案中的原因。
【解决方案4】:

您可能想尝试 \r\n 进行回车/换行

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-08-05
  • 2011-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多