classer un txt bordelik entre 2 balises div en 1 coup de dés

Eléphant du PHP | 135 Messages

05 juil. 2006, 23:59

J'ai un petit souci pour traiter tout unf ichier texte.
Les fichiers sont rangés un peu en vrac, comme suit:

1ligne
2ligne
3ligne
ligne vide
et ainsi de suite pendant au moins une grosse quantité de ligne.

les lignes ne font pas le même bnombre de caractères, la première ligne est généralement un titre, et il faut que je classe tout ça dans un bloc en tre deux balises div en un coup de dés.

J'ai déjà une petite ligne de code:

Code : Tout sélectionner

<?php $cach= 'import/'; $fich= $cach.'BaumeJuinAssoc.txt'; $tabf= fopen($fich,'r'); $tabg= fgets ($tabf); $tab= explode("&", $tabg); $tab_num=count($tabf); for ($tt=0;$tt<$tab_num;++$tt) { echo $tab[$tt] . '<br />'; } ?>
mais il ne me met que la premère ligne et puis basta.
si quelqu'un pouvait me mettre sur la voie ce serait cool.
merci d'avance.

David.
Des noeuds au cerveau!

Mammouth du PHP | 684 Messages

06 juil. 2006, 00:55

Salut.
Cette fonction ne te serais pas plus pratique ???
<?php
// Lit un fichier dans un tableau.
$lines = file ('mon_fichier.txt');

// Affiche toutes les lignes du tableau, avec les numéros de ligne
foreach ($lines as $line_num => $line) {
   echo 'Ligne No '.$line_num.' : '.$line.'<br />'."\n";
}
?> 
Tu peux faire des if dans le foreach pour gerer tes lignes vides ou qui ne commencent pas avec un numéro.
Zigz4g

Eléphant du PHP | 135 Messages

06 juil. 2006, 01:20

ben en fait c'est vrai que le foreach est pratique pour ce genre de truc, le probleme c'est que le texte est mis en vrac, en un bloc.
Alors qu'il faudrait que j'applique une feuille de style pour chaque ligne
1ligne =une feuille de style a
2ligne=une feuille de style b
3ligne= une feuille de style c
ligne vide
et rebelotte pour les lignes suivantes

je pense pas qu'avec foreach ce soit possible ?

peut-être avec les expression régulière je regarde de ce côté en ce moment.

merci.
David.
Des noeuds au cerveau!