111

我试图为一个句子添加一个换行符,我/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;

由于某些原因,我得到了服务器错误。我如何解决它?

4

4 回答 4

290

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


使用\nwith

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");

输出

kings
garden

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

so "\n" not '\n'

2.写入文本文件

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

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

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

输出将是:

kings
 garden
于 2012-10-21T03:50:00.117 回答
27

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

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

它会正常工作

于 2016-01-11T21:04:49.860 回答
15

换行符是\n,如下所示:

echo __("Thanks for your email.\n<br />\n<br />Your order's details are below:", 'jigoshop');
于 2012-10-21T03:46:28.280 回答
2

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

于 2012-10-21T03:48:37.943 回答