如何在 PHP 中换行

本文是对 PHP 换行符的使用讲解

正文

今天在学习 PHP 的过程中发现 \n 并没有像书上说的正常换行。

举个例子,如下 PHP 代码:

echo "hello \n world";

在浏览器中是这样子的:

没有换行

抱着疑问 Google 了一下,马上得到了答案:

首先,PHP 成功将换行符解析出来了,解析的结果就像下面这样:

hello 
 world

但是,在网页中,上面解析的结果被包到了 HTMLbody 标签中,我们都知道,在 HTML 中的 空格、换行符和制表符,都会被视为空白字符。所以在浏览器中并没有正常的换行。

HTML 源码解析为何不换行

解决方法

方法一:使用 HTML 中的换行符

因为要在浏览器中展示,那我们使用 HTML 中的换行符不就行了吗?

将上面的 PHP 代码改成如下:

echo "hello <br /> world";

结果如下,成功换行:

成功换行

方法二:查看 PHP 解析的源代码

我前面说了,他解析的结果是没有问题的,那我们查看它解析后的源代码不就行了。而且浏览器中查看网站源代码也非常方便。

在源代码中展示换行

额外说明

还有,就是单引号与双引号的问题。在 PHP 中双引号支持多种字符串转义,也就是说,如果上面你使用单引号,PHP 是不会解析成换行符的。

使用单引号的结果:

单引号并不会换行

另外,如果你觉得写 <br /> 麻烦,可以使用PHP内置函数 nl2br()\n 转换成 <br />

echo "hello <br /> world";
echo nl2br("hello \n world"); // 效果与上面一样

参考资料

PHP中的换行详解

https://www.zhangshengrong.com/p/O3aAOzjX4...

https://www.zhangshengrong.com/p/q0Xp3LkNK...

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!