首页  >  文章  >  后端开发  >  为什么我的 `nl2br()` 函数没有用 `` 替换换行符?

为什么我的 `nl2br()` 函数没有用 `` 替换换行符?

Linda Hamilton
Linda Hamilton原创
2024-11-06 02:27:02133浏览

Why is my `nl2br()` function not replacing newlines with ``?


替换换行符或 rn:故障排除指南

寻求用
替换换行符,您尝试了利用 preg_replace()、str_replace() 和 nl2br() 的各种方法,但遇到了意外的行为。您认为双换行符 (rr) 不太可能是失败的原因,因此寻求澄清。

解决方案:

如响应中突出显示的,将换行符转换为的推荐方法
>正在使用 nl2br() 函数。然而,重要的是要注意它插入了
换行符之前的标签,而不是替换它们。

示例:

<code class="php">// Will not work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '<br />';
echo nl2br($desc2);</code>

其他注意事项:

如果 nl2br( ) 仍然无法按预期运行,请验证 $desciption 文本是否用双引号引起来。

原因:

单引号不会扩展转义序列,例如n,而双引号字符串则可以。这种差异可能会导致意外的行为。

文档引用:

“注意:与双引号和定界符语法不同,特殊字符的变量和转义序列不会当它们出现在单引号字符串中时会被扩展。”

以上是为什么我的 `nl2br()` 函数没有用 `` 替换换行符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn