2012-02-01 45 views
0

我遇到了一个问题,即我的文本中的新行在检索后未显示。下面是我插入文本DB:MySQL DB内新行

$text = <<<MESSAGE 
line1 

line2 

line3 
MESSAGE; 

$sql_text = '"'.mysql_real_escape_string($text).'"'; 

$sql = "INSERT INTO table (text_value) VALUES ($sql_text)"; 

望着在phpMyAdmin的数据我看到了新的生产线,但是当我找回它,像这样:

echo str_replace("\r\n", "<br>\n", $text_from_db); 

它看起来像这样:

line1 line2 line3 

任何想法我失踪了?

+0

确定每行有一个'\ r \ N'在年底,而不仅仅是一个'\ N'? – fivedigit 2012-02-01 20:05:12

回答

1

你怎么知道新行是\r\n?它可能只是\n

使用此语句来检查,

echo nl2br($text_from_db); 
+0

这工作......谢谢! – Paul 2012-02-01 20:09:21

0

换行符可能是\n\r,或\r\nnl2br()处理所有这些情况:

echo nl2br($text_from_db); 
+0

呃,我很慢。 :) – dtbarne 2012-02-01 20:10:51

+0

:D总是发生在SO。 – 2012-02-01 20:14:48