2014-10-05 51 views
1

我有一個功能,可以讓網站上的成員互相發送信息;該消息存儲在MySQL數據庫中。當成員向另一個成員發送消息時,我想保留消息的自然流動,即使用空格和段落等。但是,當消息存儲在MySQL中時會刪除這些消息。如何在MySQL中存儲變量時渲染空白和段落?

我知道有一個PHP函數允許這種情況發生,但我不確定它是什麼。以下是我所指的一個例子。我希望它能更好地瞭解我的意思。

示例消息:

dear Tom 
thank you for contacting me. 
the details are here. 

上面的例子有3個單獨的行以空白。

dear Tom thank you for contacting me. my details are below. 

有人可以告訴我的PHP函數是什麼,將允許它是自然渲染,但仍逃脫不需要的值:但是,如MySQL表如下它的呈現方式。

+0

這是你在找什麼? http://php.net/manual/de/function.nl2br.php – FAS 2014-10-05 09:28:34

+0

嗨法比安。該函數可以插入到mysql中。但是當我試圖渲染它時,我在我的html中獲得了
。你有任何想法如何我可以渲染沒有換行標籤顯示 – 2014-10-05 09:50:42

+0

你確定GET請求仍然包含空格?在發送HTML表單之前,瀏覽器可能會刪除它們,請檢查textarea的包裝 – msrd0 2014-10-05 10:25:18

回答

0

nl2br是你在找什麼。

但是在插入到數據庫之前不要使用它。在表示層中使用它。

數據庫將包含用戶輸入的消息。然後你可以選擇以後如何顯示它。

隨着<br>標籤:

<p class="message"><?=nl2br($message)?></p> 

或者,也許在未來,你可能想使用一個<pre>標籤來代替:

<pre><?=$message?></pre> 

注意沒有在pre調用nl2br的。我知道你現在不想在pre標籤中顯示它,我只是用它來證明這一點。

+0

hello Bcmcfc。非常感謝你的幫助。最後一個問題。我將如何呈現鏈接。我的意思是,如果用戶寫一個鏈接。那麼我怎麼才能在從mysql數據庫產生 – 2014-10-05 10:04:17

+0

那裏得到那個鏈接的位置。您只需要允許一部分HTML。確定他們可以輸入鏈接,但他們也可以輸入其他可以破壞網頁的內容。需要成爲一個新問題。 – bcmcfc 2014-10-05 10:08:38