2013-10-16 139 views
4

這裏是我的問題,使用jquery格式化文本文件

我有一個文本文件,我正在使用jquery閱讀文件。

的代碼是在這裏

$(function() { 
    $.get('files/james.txt', function(data) { 
     $('.disease-details').html(data); 
    }, 'text'); 
}); 

但我只得到了純文本和所有格式都將消失。

我想轉換所有進入到p標籤。可能嗎?

+0

我想看到這個文本文件的內容... – Stphane

+0

這樣的事情? http://stackoverflow.com/questions/1155678/javascript-string-newline-character –

+0

你可以使用正則表達式。 – Flea777

回答

5

你可以這樣做:

$(function() { 
    $.get('files/james.txt', function(data) { 
     data = data.split("\n"); 
     var html; 
     for (var i=0;i<data.length;i++) { 
      html+='<p>'+data[i]+'</p>'; 
     } 
     $('.disease-details').html(html); 
    }, 'text'); 
}); 

上述拆分了由新線(文本的「格式化」)的文本和包裝每塊爲<p> .. </p> ..正是按照要求。

0

你將不得不獲取文件使用HTML標籤預先格式化/或從文本文件剛剛拿到的數據,做一個客戶端格式(使用模板或其他)。可以給你更好的指針,如果你給的文件中的數據將是什麼樣子

2

根據定義樣本,一個純文本文件沒有格式化開始與(因此「普通」的一部分)。

如果你的意思是換行字符,那些沒有在HTML默認渲染。爲了克服這個問題,你可以簡單地用<pre>標籤包裝你的文本,其中包括換行符。

例如:

$(function() { 
    $.get('files/james.txt', function(data) { 
     $('.disease-details').html($('<pre>').text(data)); // Text wrapped in <pre> 
    }, 'text'); 
}); 
+0

我的文本不是HTML文本。我只有帶3段的文本,它只用輸入 –

+0

進行分隔。當您按下「Enter」鍵時,實際上是將新行字符插入到文本文件中。瀏覽器不會顯示這些字符,除非您使用'pre'標籤。注意'html($('pre')。text(data))''中的區別。 – Boaz

+1

我試過用這個,它在我的div裏面什麼也沒有返回 –