首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换存储在MySQL DB中的换行符

问替换存储在MySQL DB中的换行符
EN

Stack Overflow用户
提问于 2011-10-01 08:29:31
回答 1查看 1.7K关注 0票数 3

我有一个包含2列的MySQL表:

  1. text:存储多行文本,该文本可以以\n, \r, \r\n...的形式进行换行。文本是通过webform插入的,任何浏览器都可以在任何OS.
  2. line_break:上插入文本,表示这个特定文本将使用何种类型的中断(可以是\n、<br>、<br />、.)。这也是由用户通过webform插入的。

。

然后,在PHP中进行替换:

代码语言:javascript
复制
$text = preg_replace ("/(\r\n|\r|\n)/", $row['line_break'], $row['text']);

有趣的是,如果行中断以\n的形式存储在DB中,我将实际显示\n而不是换行符。另一方面,以下regexp将正确工作:

代码语言:javascript
复制
$text = preg_replace ("/(\r\n|\r|\n)/", "\n", $row['text']);

我需要如何在DB中存储换行符才能正确地“工作”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-01 08:39:45

在php中,"\n"是一个特殊的符号,用于编写表示‘换行’的特殊字符。但是,如果将实际文本\n存储在数据库中,则只有该文本,而不是断行字符。在用PHP编写'\n'或"\\n"时,您就有了所得到的东西。确保将实际的断行字符存储在数据库中,而不是文字\n文本中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7619112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档