php - 如何使用 nl2br() 来处理带有 '\r\n' 的字符串?

标签 php mysql nl2br

我在表单提交时通过 textarea 从管理员检索存储在数据库中的产品描述值。当我从数据库中选择描述时,我得到 $description = $row['description']; 我想在主页上回显 $description,如下所示:echo nl2br($description) ; 但我看到 "\r\n" 字符而不是创建新行。根据我在这里和网上找到的内容,您的字符串必须用双引号引起来,如下所示:

echo nl2br("Hello, \r\n This is the description");

现在,数据库中 $description 的值实际上是 "Hello,\r\n This is the description" 但在我的脚本中我必须使用它像这样:

echo nl2br($description);

它不生成 br,而是输出 \r\n。所以,我能做什么,根据我的经验,我不能在这里使用双引号。

最佳答案

在通过 nl2br() 传递字符串之前,您可以将它们转换为各自的转义序列,如下所示:

$description = nl2br(str_replace('\\r\\n', "\r\n", $description));

但是首先,文字转义在您的数据库中做了什么?

关于php - 如何使用 nl2br() 来处理带有 '\r\n' 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226617/

相关文章:

mysql - row_number 由几列组成

php - MySQL 计数和总数

php - 我想写一个查询,其名称的第一个字符有 a 或 b 或 c 或 c-g

php - <br> 在下一个 foreach 项目中插入空格

javascript - 使 DIV 从中心 div 向外扩展而不是向内扩展

php - 如何在 zend 框架中打印准确的 sql 查询?

php - 如何在cakephp2中运行普通的sql查询并获取结果

javascript - 将 PHP 变量传递给 ajax 并基于该变量运行 PHP 函数

php - 文本区域中的换行符

angularjs - 如何在 Angularjs 中一起使用 nl2br 和链接过滤器?