如何防止录入数据库时\r\n被自动写成
的问题

yueyang 2004-08-16 04:04:34
$text = str_replace('<br>',"\r\n",$text);

我把字符串中的<br>换成了回车换行,但只要把这个字符串写入数据库就会自动把回车换行给变成<br>,怎样解决这个问题?
...全文
237 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zyzeric 2004-08-17
晕,接分
  • 打赏
  • 举报
回复
yueyang 2004-08-16
问题基本查明,竟然和正则有关系?
在我的正则前用这个替换,结果就正常。而在正则取出的字符串上用这个替换就出现这个问题。
  • 打赏
  • 举报
回复
pswdf 2004-08-16
不可能出现此种现象
  • 打赏
  • 举报
回复
xuzuning 2004-08-16
不可能出现此种现象,除非你做了替换
$text = str_replace("\r\n",'<br>',$text);

$text = nl2br($text);

通常入库时除了必要的转义("'"===>"\'")以外,不要做任何处理。这样在库中保存的是最原始的数据。这样也才便于读出后的处理!

估计你的问题出在作为换行的<br>是大写的<BR>或是<br />,你用
$text = str_replace('<br>',"\r\n",$text);
根本不能被替换掉
  • 打赏
  • 举报
回复
tod204 2004-08-16
myssql还没有这个功能!
$text = str_replace('<br>',"\r\n",$text);
应该是你这条语句没有被执行!
你 看一看这条语句的前面是不是有判断?
如果有,你确定程序会跑上面的那条语句!
  • 打赏
  • 举报
回复
yueyang 2004-08-16
file_get_contents();
  • 打赏
  • 举报
回复
-神仙- 2004-08-16
你是怎么读的
  • 打赏
  • 举报
回复
yueyang 2004-08-16
是这样的
现从一个HTML文件中读取里面的内容,里面自然就有<br>了,然后把<br>替换成\n或者\r\n再写入数据库,结果数据写入成功后用PHPMYADMIN打开发现又变成了<br>,但将处理过的字符串用echo显示后查看代码,能够正常的显示回车,没有<br>字符。

如果不读取文件中的内容,而是在代码里写一个$text字符串里面包含若干<br>然后在替换成\n或者\r\n,再写入数据库却正常。
  • 打赏
  • 举报
回复
张海霖 2004-08-16
绝不可能。
没这种可能。
写入数据库之前应把\r\n换成<br>
取出时相反与你说的正好相反。
  • 打赏
  • 举报
回复
pwtitle 2004-08-16
try it:

$text = str_replace('<br>',"\\r\\n",$text);

  • 打赏
  • 举报
回复
qingxia 2004-08-16
不能吧?
没听说过mysql有那种功能
你把整个代码,贴出来看看吧
  • 打赏
  • 举报
回复
相关推荐
发帖
基础编程

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
帖子事件
创建了帖子
2004-08-16 04:04
社区公告
暂无公告