我有一个MySQL表格,包含2列:
有趣的是,如果换行符存储在数据库中为
我需要如何在数据库中存储换行符以使其“正确”工作?
text
: 存储多行文本,可能含有换行符如\n, \r, \r\n...
。该文本通过web表单插入,可以由任何浏览器在任何操作系统上插入。line_break
: 代表该特定文本使用何种换行符(可以是\n
,<br>
,<br />
, ...)。这也是由用户通过web表单插入的。
在PHP中进行替换操作:
$text = preg_replace ("/(\r\n|\r|\n)/", $row['line_break'], $row['text']);
有趣的是,如果换行符存储在数据库中为
\n
,那么我实际上会显示\n
而不是新行。另一方面,以下正则表达式将正确工作:$text = preg_replace ("/(\r\n|\r|\n)/", "\n", $row['text']);
我需要如何在数据库中存储换行符以使其“正确”工作?