<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 這裡是與文章內容無關的PHP代碼示例</span></span><span>
</span><span><span class="hljs-variable">$dummyArray</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$dummyArray</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$num</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Number: <span class="hljs-subst">$num</span></span></span><span>\n";
}
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* nl2br 和 nl2br() 函數在不同參數下的使用場景有哪些區別?
*
* 在PHP中,nl2br()函數用於將字符串中的換行符(\n 或 \r\n)轉換為HTML的<br>標籤。
* 這在處理用戶輸入的文本顯示時非常常用,例如從表單提交的多行文本。
*
* 函數簽名:
* string nl2br(string $string, bool $is_xhtml = true)
*
* 參數說明:
* 1. $string:要處理的字符串。
* 2. $is_xhtml:可選,默認為true。
* - true 表示生成的换行標籤为XHTML風格的 <br />。
* - false 表示生成標準HTML的 <br>。
*
* 使用場景分析:
*/</span>
</span><span><span class="hljs-comment">// 場景1:普通文本顯示,保持HTML兼容</span></span><span>
</span><span><span class="hljs-variable">$text1</span></span><span> = </span><span><span class="hljs-string">"第一行\n第二行\n第三行"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl2br</span></span><span>(</span><span><span class="hljs-variable">$text1</span></span><span>); </span><span><span class="hljs-comment">// 輸出帶有 <br /> 的文本,適合XHTML頁面</span></span><span>
</span><span><span class="hljs-comment">// 場景2:非XHTML頁面,生成HTML标准標籤</span></span><span>
</span><span><span class="hljs-variable">$text2</span></span><span> = </span><span><span class="hljs-string">"Hello\nWorld"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl2br</span></span><span>(</span><span><span class="hljs-variable">$text2</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>); </span><span><span class="hljs-comment">// 輸出帶有 <br> 標籤,適合普通HTML頁面</span></span><span>
</span><span><span class="hljs-comment">// 場景3:數據庫存儲後再輸出,確保換行可視化</span></span><span>
</span><span><span class="hljs-variable">$textFromDb</span></span><span> = </span><span><span class="hljs-string">"用戶輸入的文本\n包含換行"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl2br</span></span><span>(</span><span><span class="hljs-variable">$textFromDb</span></span><span>); </span><span><span class="hljs-comment">// 默認生成 <br />,顯示在網頁中換行</span></span><span>
</span><span><span class="hljs-comment">// 場景4:配合HTML標籤输出,避免HTML解析錯誤</span></span><span>
</span><span><span class="hljs-variable">$textHtml</span></span><span> = </span><span><span class="hljs-string">"這是 <b>加粗</b>\n換行測試"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">nl2br</span></span><span>(</span><span><span class="hljs-variable">$textHtml</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>); </span><span><span class="hljs-comment">// 自動轉換換行,不破壞HTML結構</span></span><span>
<span class="hljs-comment">/**
* 總結:
* 1. nl2br()最核心的功能是将换行符轉換為HTML可識別的<br>標籤。
* 2. $is_xhtml 参数决定生成的换行標籤是否符合XHTML規範。
* 3. 在XHTML頁面或者严格要求標籤闭合的場景下,應使用默認true。
* 4. 在普通HTML頁面或者对旧浏览器兼容要求下,可以設置為false。
* 5. nl2br()常用於顯示用戶輸入、日誌文本或多行字符串內容。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>