【问题标题】:How to avoid \n and \r in PHP using nl2br如何使用 nl2br 在 PHP 中避免 \n 和 \r
【发布时间】:2011-11-19 15:55:17
【问题描述】:

我正在尝试使用 nl2br 避免 mysql 表中的 \n 和 \r 值,如下所示

$profileDetails['address']=nl2br($profileDetails['address']);

但它不起作用。

$profileDetails['address'] 中的值为"Naduvilachirayil House,\r\nAnaprampal North P.O,\r\nThalavady"

但是当我检查时,

echo nl2br("Naduvilachirayil House,\r\nAnaprampal North P.O,\r\nThalavady");

它正在工作..

【问题讨论】:

  • 恐怕答案是$profileDetails['address'] 没有你认为的价值。
  • var_dump(nl2br($profileDetails['address']))

标签: php space nl2br


【解决方案1】:

nl2br 不会将字符串 \n 转换为 <br>。它将新行转换为<br>。显示差异:

"\n" === "
";

$profileDetails['address'] === "Naduvilachirayil House,\\r\\nAnaprampal North P.O,\\r\\nThalavady";

也就是说,数据库中的值是一个文字 \ 字符,后跟一个 n 字符。 \n 仅在定义字符串时表示“新行”。

【讨论】:

  • 这两个字符串不等价的原因可能是您使用的机器不编码\n 中的行尾。 Here's a demo 适用于 Windows \r\n 工作正常。
  • 如何解决这个问题..请帮助我。我想分行出来
  • @user1055453 问题在于将值插入数据库的代码,而不是检索它们的代码。 \r\n 不应出现在您的数据库中。
  • 如何避免 \r 和 \n 插入数据库。
猜你喜欢
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 2017-08-09
  • 2011-07-04
  • 2018-12-09
  • 1970-01-01
  • 2011-09-26
相关资源
最近更新 更多