2011-11-19 19 views
0

我試圖避免使用nl2br MySQL表\ n和\ r值,如下圖所示如何避免在PHP n和 r使用nl2br

$profileDetails['address']=nl2br($profileDetails['address']); 

但它無法正常工作。

$profileDetails['address']的值是"Naduvilachirayil House,\r\nAnaprampal North P.O,\r\nThalavady"

但是當我檢查,

echo nl2br("Naduvilachirayil House,\r\nAnaprampal North P.O,\r\nThalavady"); 

據工作..

+8

恐怕答案是'$ profileDetails ['address']'沒有你認爲它的值。 – Artefacto

+2

'var_dump(nl2br($ profileDetails ['address']))'請 – Ben

回答

2

nl2br不串\n轉換爲<br>。它將新行轉換爲<br>。以示區別:

"\n" === " 
"; 

$profileDetails['address'] === "Naduvilachirayil House,\\r\\nAnaprampal North P.O,\\r\\nThalavady"; 

也就是說,從你的數據庫中的值是一個文字\字符跟一個n字符。當定義字符串時,\n僅表示「新行」。

+0

這兩個字符串不相等的原因是因爲你可能在一臺機器上不編碼'\ n'中的行尾。 [這是一個演示](http://codepad.org/wVAboh0V)適用於Windows'\ r \ n',可以正常工作。 – nickb

+0

如何解決這個問題.. PLZ幫助我。我想,以獲得出單獨的線 – user1055453

+0

@ user1055453的問題是與將值插入到數據庫中,而不是與檢索他們的代碼。 '\ r \ n'不應該出現在你的數據庫中。 – lonesomeday