2015-11-30 95 views
1

我試圖刪除從數據庫輸出<br />但這不是真正的工作爲我。我的代碼以nl2br開頭,它產生<br />。但是我會允許我的用戶編輯文本,我也很樂意確保在剪輯中允許換行。腓移除BR標籤

但在我<textarea>它打印出的標籤<br />。我只想要一個換行符。

echo nl2br(preg_replace("/<br\W*?\/>/", "", $row["content"])); 
+0

作出這樣的一個答案,你會得到一個對勾:) – sfsefsf33fs3fs3fs

+0

你的正則表達式是正確的,至少 – VIDesignz

+0

@ sfsefsf33fs3fs3fs您應該考慮使用的編輯器。 Markitup非常適合編輯代碼,summernote是一個體面的所見即所得,而tinymce是一個全功能(如果膨脹)所見即所得。基本上它們允許你用斷點編輯,但保存在新行中。 – Flosculus

回答

1

不要運行時輸出br S中nl2br。還可以在替換值中使用\n,以便獲得新行。

echo preg_replace("/<br\W*?\/>/", "\n", $row["content"]); 

你也可能需要使用\h\s代替\W

0

據我所知,還有就是你想用,當你想顯示一個文本輸入的文本,那麼你需要的nl2br,這將插入BR標籤到文本兩種形式。您可能還想以這種方式將內容保存到數據庫。

當你想將文本加載回一個textarea,那麼這取決於你如何保存的文本:如果保存換行符

  • :什麼也不做與文本只是將其加載到textarea的
  • 如果保存BR標籤:你需要你的代碼的preg_replace(...)部分以「\ n」作爲替代(preg_replace("/<br\W*?\/>/", "\n", $row["content"]);)。