PHP – 如何创build一个换行符?
在PHP中,我试图创build一个换行符:
echo $clientid; echo ' '; echo $lastname; echo ' '; echo '\r\n';
之后,我在记事本中打开创build的文件,并从字面上写入换行符:
1 John Doe \ r \ n 1 John Doe \ r \ n 1 John Doe \ r \ n
我已经尝试了\r\n
许多变化,但没有任何工作。 为什么不是换行变成换行符?
只有双引号string将转义序列\r
和\n
分别解释为“0x0D”和“0x0A”,所以您需要:
"\r\n"
另一方面, 单引号string只知道转义序列\\
和\\
。
因此,除非您将单引号string与其他地方生成的换行符(例如,使用双引号string"\r\n"
或使用chr
函数 chr(0x0D).chr(0x0A)
)连接起来,否则唯一的方法是将行在一个单引号string中打破是字面上用你的编辑器键入它:
$s = 'some text before the line break some text after';
如果您需要某些特定的字符序列(例如\r\n
),请确保检查编辑器的换行符设置。
对于独立于平台的行结束,可以使用预定义的PHP_EOL
常量 ,如下所示:
echo $clientid, ' ', $lastname, PHP_EOL;
PHP中的“echo”命令将输出以原始htmlforms发送到浏览器,因此即使在双引号中,浏览器也不会将其parsing为两行,因为HTML中的换行符无意义。 这就是为什么你需要使用:
echo [output text]."<br>";
当使用“回声”,或改为使用fwrite …
fwrite([output text]."\n");
这将输出HTML换行符代替“\ n”。
使用常量PHP_EOL来获取正确的字符,而不pipe平台。
http://us3.php.net/manual/en/reserved.constants.php
一个简单的用法示例:
<?php $data = 'First line' . PHP_EOL . 'Second line' . PHP_EOL . 'Third line'; file_put_contents("filename.txt", $data); ?>
双引号之间的string""
插入,意味着它们将转义字符转换为可打印字符。
单引号之间的string是字面意思,意味着它们与input的字符完全相同。
你可以在同一行:
echo '$clientid $lastname ' . "\r\n"; echo "$clientid $lastname \r\n";
输出:
$clientid $lastname 1 John Doe
其实\r\n
是输出的html端。 使用这些字符,您可以在html代码中创build一个换行符,使其更具可读性:
echo "<html>One line \r\n Second line</html>";
会输出:
<html>First line Second line</html>
浏览页面将是:
First line Second line
如果你的意思是这样,你只需要用“”引号来修正单引号:
echo "\r\n";
否则,如果你的意思是分割文本,在我们的示例“第一行”和“第二行”,你必须使用html代码: <br />
:
First line<br />Second line
那会输出:
First line Second line
如果你用下面的代码replace整个脚本,它也会更具可读性:
echo "$clientid $lastname \r\n";
你应该使用这个:
"\n"
你也可能想看看PHP EOL 。
w3school提供这种方式:
echo nl2br("One line.\n Another line.");
通过使用这个function,你可以做到这一点..我尝试了上面说的其他方式,但他们不会帮助我..
出于某种原因,在PHP中每一个询问换行符的post都没有提到仅仅插入一个换行符到单引号string中的情况,这就是你所想的:
例1
echo 'foo\nbar';
例1显然不打印所需的结果,但是,虽然它是真的,你不能在单引号中换行,你可以有一个:
例2
echo 'foo bar';
示例2具有完全所需的行为。 不幸的是插入的换行符依赖于操作系统。 这通常不是问题,因为Web浏览器/服务器将正确地解释新行是否是\ r,\ r \ n或\ n。
很显然,如果您打算通过其他方式,然后通过networking浏览器分发文件并将其分发到多个操作系统,则此解决scheme并不理想。 在这种情况下,你应该看到其他答案之一。
注意:使用function丰富的文本编辑器,你应该能够插入一个换行符作为一个二进制字符,表示换行符不同于编辑该文件的操作系统。 如果一切都失败了,只需使用hex编辑器插入二进制ASCII字符就可以了。
换行符为(13),换行符为(10)
echo $clientid; echo ' '; echo $lastname; echo ' '; echo chr (13). chr (10);
使用PHP nl2br获取文本string中的换行符。
$ text =“Manu是个好孩子(input)他可以很好的编码。
echo nl2br($ text);
结果。
马努是个好孩子
他可以很好地编码。
我也在单引号和双引号内尝试了这种组合。 但没有一个工作。 不要在双引号中使用\n
。 喜欢这个..
$variable = "and"; echo "part 1 $variable part 2<br/>"; echo "part 1 ".$variable." part 2";
对于任何echo语句,我总是使用双引号内的<br>
。