2013-03-17 63 views
0

通過查詢到數據庫我檢索的數據是我之前通過HTMLtextareainput插入的。當我從我的數據庫的響應,在JSON對象text場看起來是這樣的:回車編碼

obj : { 
      text : [some_text] ↵ [some_text] 
     } 

我試圖用這個function取代:

string_convert = function(string){ 
    return string.replace("&#8629",'<br>') 
       .replace('&crarr','<br>') 
       .replace('/[\n\r]/g','<br>'); 
} 

我必須表明此字符串HTML,但似乎沒有工作。我正在使用UTF-8

有什麼建議嗎?

+2

什麼是「↵」?請顯示真正的JSON。 – loganfsmyth 2013-03-17 18:49:24

+2

你試過'string.replace('↵','
')'? – Yogu 2013-03-17 18:50:27

+0

是它實際顯示的字符。 – steo 2013-03-17 18:58:17

回答

0

你缺少結束分號;在你的代碼:

string_convert = function(aString){ 
    return aString.replace("&#8629;",'<br>').replace('&crarr;','<br>'); 
} 

這並不需要解決您的問題,但它可能會。

1

你的問題是你已經用引號括起來的正則表達式。這是不正確的。

.replace('/[\n\r]/g','<br>'); 
     ^  ^
     remove these two quotes 

引號是不必要的,因爲正則表達式已被斜槓分隔。

通過將引號放在那裏,您實際上已經告訴它,您要替換固定字符串而不是正則表達式。固定的字符串可能看起來像一個表達式,但用引號,它只會被看作是一個普通的字符串。

刪除引號,它將被視爲一個表達式,它會工作得很好。

另一件事,但 - 爲了使你的正則表達式完美工作,我還建議稍微修改它。就目前而言,它只會將\n\r個字符替換爲<br>。但在某些情況下,它們可能會成爲\r\n對。這應該是一個單行換行符,但是你的表達式將用兩個<br>代替它。

你可以使用一個表達這樣反而:

/\r\n|\n|\r/g 

希望有所幫助。