2013-04-17 77 views
0

我有一個MySQL數據庫,其中有一些帖子(帶有換行符)。在MySQL選擇後沒有換行符

我用這個語法選擇這些:

public function getById($id) { 
    $stmp = $this->_db->prepare("SELECT `content` FROM `posts` WHERE `id`= ?;"); 
    $stmp->execute(array($this->id)); 
    $row = $stmp->fetch(PDO::FETCH_ASSOC); 
    $this->content = $row['content']; 
} 

但這種方式我失去的換行符。有沒有一種方法可以選擇包含換行符的內容?

此致

LuxoJr

+1

您不會失去換行符。您的瀏覽器可能只是忽略它們,因爲HTML想要有一個
而不是換行符。 –

回答

3

換行符在數據庫中被保存爲\n(換行)或\r(返回)或這兩種的組合。在客戶端的網頁瀏覽器會忽略這些,這就是爲什麼你不看他們,這樣做的唯一方法是將它們轉換爲<br/>(休息時間)

轉換(\n\r\r\n\n\r)到<br/>

nl2br($row['content']); 

請參閱php文檔nl2br function

+0

爲什麼一個人會倒下? –

-2

HTML將換行符轉換爲空格。用它將它們變成HTML中的可見換行符:

$this->content = nl2br($row['content']); 
+0

爲什麼我低調? – silkfire