2013-02-08 44 views
0

基本上,我有一個管理區域,用戶可以使用表單textarea將信息添加到MySQL數據庫。用戶很少或沒有HTML知識,所以我希望他們能夠使用他們的返回鍵創建換行符而不是<br />標籤,但是我也希望允許使用HTML以便將來使用。我也不希望<br />標記在插入後出現在textarea中,而是想要換行,以免混淆人物 - 基本上將其顯示在textarea中,就像輸入時一樣。PHP/Mysql - 使用換行符添加表單數據HTML元素

雖然我一直有解析數據的困難,但我想出了一個解決方案,以防止換行被剝離,但我真的很想知道這是否有效 - 它的工作原理,但如果我'最近我學到了什麼,我知道這並不意味着它是正確的!

$extra_details_escape = mysql_real_escape_string($_POST['extra_details']); 
$extra_details_escape = str_replace('\r\n','LiNeBrEaK',$extra_details_escape); 
$extra_details_escape = stripslashes($extra_details_escape); 
$extra_details_escape = str_replace('LiNeBrEaK','\r\n',$extra_details_escape); 
mysql_query("UPDATE table SET column = '$extra_details_escape' WHERE id = '$id'"); 

非常感謝,

+0

一個標準的textarea不會產生''
爲換行標籤,所以您使用的各種各樣的所見即所得的編輯器? – 2013-02-08 15:39:28

+0

嗨勞倫斯。它不會添加
標籤本身,我只是提到,我不希望他們在那裏排除nl2br作爲一個選項,因爲我想保持它們爲\ r \ n – JoeP 2013-02-08 15:49:09

回答

0

你試過nl2br()?

試試這個,後弦消毒:

$extra_details_escape = nl2br($_POST['extra_details']); 
+0

嗨,大流士,我不想要任何'
'當我在其他地方檢索數據時執行nl2br時,在這方面涉及''標籤。 – JoeP 2013-02-08 15:50:52