<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>