Lecture et récupération des lignes d'un fichier texte

5/5 (13 avis)

Vue 29 172 fois - Téléchargée 1 925 fois

Description

But du Jeu...
- Récupérer chaque ligne d'un fichier texte à des fins de traitement divers.

Principe...
- Ouvrir le fichier texte dans une IFRAME,
- transférer le contenu dans une TEXTAREA
- récupérer les différentes lignes dans un ARRAY pour en faire ce que bon vous semble.

Utilisation...
- Permet de ne plus modifier la page HTML mais seulement le fichier texte.

Deux fichiers exemples sont la pour vous indiquer deux mises en oeuvre de cette approche.

Source / Exemple :


<script type="text/javascript">
//-------------------------
function Read_File( where_){
  //-- Recup des Objets
  var szTmp  ="";
  var O_Src  = document.getElementById( 'I_RECUP').contentWindow.document;
  var O_Dest = document.getElementById( 'T_RECUP');
  if( O_Src.body){
    O_Src = O_Src.body;
    //-- Lecture du contenu
    if( O_Src.textContent)
      szTmp = O_Src.textContent;
    //-- Cas IE
    else if (O_Src.innerText)
      szTmp = O_Src.innerText;
    //-- cas NetScape a part
    else if( O_Src.innerHTML){
      szTmp = O_Src.innerHTML;
      szTmp = szTmp.replace(/</gi, "\<");
      szTmp = szTmp.replace(/>/gi, "\>");
      szTmp = szTmp.replace(/<pre>/gi, "");
      szTmp = szTmp.replace(/<\/pre>/gi, "");
    }
  }
  else
    szTmp = "ERREUR Format Fichier";

  //-- Transfert dans TEXTAREA
  O_Dest.value = szTmp;
  //-- Recuperation des lignes
  var O_Src  = document.getElementById( 'T_RECUP');
  var O_Dest = document.getElementById( where_);

  if( O_Dest){
    szTmp ="";
    //-- Supprime "\r" pour IE et Opera
    O_Src.value = O_Src.value.replace(/\r/gi, "")
    //-- Recup donnee
    var T_Lig = O_Src.value.split('\n');
    //-- Supprime ligne vide en fin de fichier
     while(!T_Lig[T_Lig.length-1].replace(/\s/g,''))
       T_Lig.length --;//= T_Lig.length-1;
    //-- Pour tous les lignes
    for( var i=0; i <T_Lig.length; i++){
      szTmp += T_Lig[i] +'<br>';
    }
    //-- Ecrit le resultat
    O_Dest.innerHTML = szTmp;
  }
}
</script>

Conclusion :


Laisser libre court à votre imagination...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
MarcoHH Messages postés 12 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 23 septembre 2008
3 déc. 2011 à 14:56
Salut,
C'était effectivement pas mal. Malheureusement, a priori, ça fonctionne pas avec Chrome.
artsize Messages postés 1 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 6 avril 2011
6 avril 2011 à 11:32
salut tout le monde,
je n'ai pas compris comment faire pour plusieurs fichiers .txt dans la meme page html
help me please
cs_nossoctoruss Messages postés 126 Date d'inscription samedi 28 novembre 2009 Statut Membre Dernière intervention 9 juin 2013
27 févr. 2010 à 21:46
bravo et merci!ta source n'etait pas ce que je cherchai,mais j'ai pus extraire une partie de ta source,qui etait exactement ce que cherchait!
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
8 janv. 2009 à 18:22
Bonjour avec un bon retard pour cause de fin d'année...
donc Happy New Year...

Ce script ne fonctionne que lorsque les pages appartiennent à un même domaine et ce pour des raisons de sécurité...
Je ne suis pas un spécialiste, loin sans faut, mais il me semble qu'en PHP il est possible de lire le contenu d'un fichier hors domaine, à vérifier quand même...

;O)
cs_Ali Bibi Messages postés 20 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 5 avril 2018
13 déc. 2008 à 14:48
Merci PetoleTeam, c'est, sans avoir encore vu ta réponse, ce que j'avais fait : dupliqué le script en changeant les variables ...

Mais voilà que maintenant j'ai un autre problème :
Le fichier texte que je tente d'appeler et d'afficher se trouve sur un autre serveur ... et là ça ne marche plus !

Y aurait-il une solution ?

Merci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.