2013-10-16 8 views
4

Voici ma question,Formatage du fichier texte en utilisant jquery

J'ai un fichier texte et je lis le fichier en utilisant jquery.

le code est ici

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

mais je reçois seulement le texte brut et la mise en forme est en train de disparaître.

Je souhaite convertir tous les caractères d'entrée en p. c'est possible?

+0

Je voudrais voir le contenu de ce fichier texte ... – Stphane

+0

quelque chose comme ça? http://stackoverflow.com/questions/1155678/javascript-string-newline-character –

+0

Vous pouvez utiliser une expression régulière. – Flea777

Répondre

5

Vous pouvez faire ceci:

$(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'); 
}); 

le grand écart ci-dessus le texte par une nouvelle ligne (texte- « formatage ») et enveloppe chaque morceau dans un <p> .. </p> .. Exactement comme demandé.

0

Vous devrez soit obtenir le fichier pré-formaté en utilisant des balises HTML/ou simplement obtenir les données du fichier texte et faire un formatage côté client (en utilisant des modèles ou autrement). Peut vous donner de meilleurs pointeurs si vous donnez un échantillon de ce que les données du fichier ressembleraient

2

Par définition, un fichier de texte brut n'a pas de formatage pour commencer (d'où la partie "plain").

Si vous voulez dire des caractères de nouvelle ligne, ceux-ci ne sont pas rendus en HTML par défaut. Pour surmonter cela, vous pouvez simplement envelopper votre texte avec une balise <pre> qui, entre autres, est rendue, y compris les caractères de nouvelle ligne.

Par exemple:

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

mon texte n'est pas le texte html. Je n'ai que du texte avec 3 paragraphes il est séparé avec seulement entrer –

+0

Lorsque vous appuyez sur la touche "Entrée", vous êtes en train d'insérer un caractère de nouvelle ligne dans le fichier texte. Le navigateur n'affiche pas ces caractères, sauf si vous utilisez la balise 'pre'. Notez la différence dans 'html ($ ('pre'). Text (data))'. – Boaz

+1

J'ai essayé d'utiliser cela, il ne retourne rien dans mon div –