Exploser contenu d'un fichier txt dans un tableau
Im avoir de la difficulté à exploser contenu d'un .fichier txt (structure ci-dessous):
01Name 1
02whatever contents
03whatever contents
-------------------
01Name 2
02whatever contents
03whatever contents
Comme vous pouvez le voir, le "séparateur" est "-------------------". Maintenant, la question est: comment faire exploser ce fichier dans un tableau, afin que je puisse rechercher un nom spécifique et d'afficher des blocs de contenu? J'ai essayé d'exploser comme ceci:
header("Content-type:text/plain");
$file = fopen("cc/cc.txt", "r");
while (!feof($file)) {
$lot = fgets($file);
$chunk = explode("-------------------",$lot);
print_r($chunk);
}
fclose($file);
Et a obtenu ce résultat:
Array
(
[0] => 01Name 1
)
Array
(
[0] => 02whatever contents
)
Array
(
[0] => 03whatever contents
)
Array
(
[0] => -------------------
)
Array
(
[0] => 01Name 2
)
Array
(
[0] => 02whatever contents
)
Array
(
[0] => 03whatever contents
)
lorsque j'ai voulu obtenir ce résultat:
Array
(
[0] => 01Name 1
[1] => 02whatever contents
[2] => 03whatever contents
)
Array
(
[0] => 01Name 2
[1] => 02whatever contents
[2] => 03whatever contents
)
Ive cherché PHP; affectation de fgets() de sortie d'un tableau et Lire chaque ligne du fichier txt à nouveau l'élément de tableau , avec pas de chance.
Toutes les pensées?
vous ne pouvez pas exploser un fichier txt, vous pouvez décomposer le contenu d'un fichier txt ...
ok.. édité à ma question!
ok.. édité à ma question!
OriginalL'auteur MrsSammartino | 2012-10-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les éléments suivants
Sortie
Vous pouvez le prendre plus loin
Sortie
Vous êtes les bienvenus, je peux vous voir de nouveau. Il faut aussi accepter de voir : meta.stackexchange.com/questions/16721/...
Fait, Le Baba!! 🙂
Vous avez accepté une autre réponse pas de mine ... vous ne pouvez accepter une réponse à un moment
Pouvez juste de se demander pourquoi vous avez changé d'avis ...
OriginalL'auteur Baba
Tout d'abord, vous devez utiliser
file()
à lire et à diviser un fichier ligne sage. C'est un intégré spécifiquement à cette fin.Votre chèque de
"-------------------"
échoue parce que vous n'avez pas à prendre la fuite mais les sauts de ligne (\r\n
etc.) en compte. (UtiliserFILE_IGNORE_NEW_LINES
pour lafile()
fonctionner comme une solution). S'il peut être préférable d'utiliser une regex ici:Un peu redondant de cette façon, mais plus résistant.
Vous pourriez aussi bien lire tout le fichier avec
file_get_contents
et séparer les blocs de texte avecpreg_split
à la place.OriginalL'auteur mario
Si votre fichier est régulièrement mises en forme, d'avoir trois lignes par bloc de données, vous pouvez simplement analyser de cette façon. Ici, je suis entrain de créer un tableau en 2 dimensions de la totalité du fichier:
Ce sorties:
OriginalL'auteur JYelton
OriginalL'auteur Bogdan Burim