2012-03-20 24 views
2

我正在使用一些JSON來解析來自Facebook頁面的信息,以便在我的網站上顯示,這幾乎完美地工作!所有的信息被拉入,但我失去了HTML中的換行符(我想保留)。Facebook API在JSON中替換新行

我可以通過新線顯示爲\n圖形API看到的,所以我想這樣做的最簡單的方法是使用jQuery找到任何\n<br />取代它,我不得不環顧四周,但一簡單的查找和替換方法如:

$(span#about_" + index).html(this.html().replace('\n','<br />')); 

但是這不起作用,因爲\ n標籤沒有傳遞給html。

所以我想知道如果有人知道我可以做到這一點?任何幫助將不勝感激!

我原來的JSON請求低於:

$.each(json, function(index, item) { 
       $(".facebook span#likes_" + index).html("<a href='" + item.link + "' alt='" + item.name + " on Facebook'><ul><li>" + item.likes + "</li></ul><h4>Facebook Fans</h4></a>"); 
       $("span#about_" + index).html("<p>" + item.description + "</p>"); 
}); 

提前許多感謝,MB

+0

我可以看到'description'的輸出是什麼樣子嗎? – Ohgodwhy 2012-03-20 18:09:47

+0

你的意思是'/ n'還是'\ n'? – 2012-03-20 18:11:19

+0

從Facebook或在我的HTML?這些信息取自Facebook:http://pastie.org/3636417 – Michael 2012-03-20 18:13:05

回答

2

你能做到item.description.replace(/\n/g, '<br />')

看來替換方法只會取代第一次出現。如果你使用正則表達式,你可以告訴它全局替換。

$.each(json, function(index, item) { 
    $(".facebook span#likes_" + index).html("<a href='" + item.link + 
     "' alt='" + item.name + " on Facebook'><ul><li>" + item.likes + 
     "</li></ul><h4>Facebook Fans</h4></a>"); 
    $("span#about_" + index).html("<p>" + 
     item.description.replace(/\n/g, '<br />') + "</p>"); 
}); 
+0

威爾是走在循環,例如: '$。每個(JSON,函數(指數,項目){ \t \t \t \t \t $( 「Facebook的跨度#likes_」 +指數)的.html( 「

Facebook Fans

」 ); \t \t \t \t \t $( 「跨度#about_」 +指數)的.html( 「

」+ item.description +「

」); \t \t \t \t \t item.description.replace(/ \ N/g,'
'); });' 對不起n00b的問題,我正在用jQuery找到我的腳! – Michael 2012-03-20 18:44:23

+1

沒問題 - 我認爲你可以用我發佈的內容替換item.description,假設我正確理解你的問題和代碼:) – 2012-03-20 18:47:34

+0

YES!非常感謝你,你讓我的網站變得更漂亮哈哈。 – Michael 2012-03-20 18:57:03