如何在 PHP 中換行

飛機飛過天空發表於2020-01-13

本文是對 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...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章