如何在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/O3aAOzjX4E/

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

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值