2011-07-11 14 views
1

我看起來很難顯示HTML。哈哈,讓我解釋一下。使用Javascript處理從數據庫到HTML的NL2BR

我有1個「評論」模板文件...它告訴事情要去的地方,在HTML中。當添加,更新和選擇任何的「意見」

IE:

<div class='comment'> 
    <div>{$name}</div> 
    <div>{$comment}</div> 
</div> 

所以我的評論中我需要拉從包括數據庫的評論,\ n

所以我去喜歡這個。

$comment = nl2br($comment); 
<div class='comment'> 
    <div>{$name}</div> 
    <div>{$comment}</div> 
</div> 

而且這樣做的工作......但是當我通過jQuery做一個更新我用,

$("#"+ target +"").replaceWith(responseText); 

而且responseText的包括所有的HTML ...但由於某些原因,它仍然是包括\ n ...而不是

我不知道這是JavaScript的限制還是渲染問題。只是不知道還有什麼地方可以去...有什麼想法?

+0

通過更新你的意思是做ajax請求? – Rafay

+0

是的,這是正確的 – Justin

回答

0

之前執行以下操作獲取意見嗯,這是一點點奇怪的php文件,有一些問題,我沒有完全測試並抱歉可能沒有澄清。但mysql_real_escape_string()導致存儲在數據庫中的\ n出現問題。

那裏我正在看使用此功能。在php.net的網站上找到

function mysql_escape_mimic($value) { 
     if(isset($value)) 
     { 
      if(is_array($value)) { 
       return array_map(__METHOD__, $value); 
      } 

      if(!empty($value) && is_string($value)) { 
       //return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), 
       //     array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $value); 

       return str_replace(array('\\', "\0", "\r", "'", '"', "\x1a"), 
            array('\\\\', '\\0', '\\r', "\\'", '\\"', '\\Z'), $value); 
      } 

      return $value; 
     } 
    } 
0

在您與使用jQuery嘗試將數據回顯

$comment=str_replace('\n\r', '<br />', $comment); 
$comment=str_replace('\n', '<br />', $comment); 
echo $comment; 
+0

是的,它的工作原理。但是當我收到來自Javascript的回覆時,它似乎無法正常工作。 – Justin