Parser un fichier texte dynamique en PHP
Résolu/Fermé
ballow
Messages postés
5
Date d'inscription
mardi 26 août 2014
Statut
Membre
Dernière intervention
17 octobre 2014
-
Modifié par ballow le 26/08/2014 à 16:42
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 27 août 2014 à 11:30
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 27 août 2014 à 11:30
A voir également:
- Parser un fichier texte dynamique en PHP
- Fichier rar - Guide
- Dans le texte, un seul mot a réellement été écrit en lettres capitales (majuscules). quel est ce mot ? ✓ - Forum Word
- Tableau croisé dynamique - Guide
- Fichier host - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
3 réponses
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
26 août 2014 à 17:56
26 août 2014 à 17:56
Ce qu'il faut savoir pour les regexp c'est si la structure du fichier change ou pas.
Si c'est simplement les valeurs qui sont modifiées et qu'elles sont toujours sur une ligne, séparées par des espaces ou des tabulations ou autres caractères pas de soucis !
Voici un exemple d'expression régulière qui match avec ton fichier d'exemple :
Si c'est simplement les valeurs qui sont modifiées et qu'elles sont toujours sur une ligne, séparées par des espaces ou des tabulations ou autres caractères pas de soucis !
Voici un exemple d'expression régulière qui match avec ton fichier d'exemple :
Class_M[^0-9]+([0-9]+)[^0-9]+([0-9]+)[^0-9]+([0-9]+)\r\n
ballow
Messages postés
5
Date d'inscription
mardi 26 août 2014
Statut
Membre
Dernière intervention
17 octobre 2014
26 août 2014 à 21:12
26 août 2014 à 21:12
Merci Zep3k!GnO de ta réponse rapide :)
Merci pour le renseignement, avec ce que tu me dit, ça me rassure.
J'ai essayé ton expression régulière mais j'ai une erreur de type Delimiter must not be alphanumeric or backslash...
je me suis peut-être tromper dans l'écriture :
Par la suite j'aimerais intégrer le résultat du match dans une variable $toto.
A quel niveau du code ci-dessus je dois lui dire "maintenant que tu as trouvé ma valeur, met la dans la variable toto" ?
Merci beaucoup ! :)
Merci pour le renseignement, avec ce que tu me dit, ça me rassure.
J'ai essayé ton expression régulière mais j'ai une erreur de type Delimiter must not be alphanumeric or backslash...
je me suis peut-être tromper dans l'écriture :
<?php
if (preg_match("Class_M[^0-9]+([0-9]+)\r\n", "http://www.swpc.noaa.gov/ftpdir/latest/daypre.txt"))
{
echo 'Le mot que vous cherchez se trouve dans la chaîne';
}
else
{
echo 'Le mot que vous cherchez ne se trouve pas dans la chaîne';
}
?>
Par la suite j'aimerais intégrer le résultat du match dans une variable $toto.
A quel niveau du code ci-dessus je dois lui dire "maintenant que tu as trouvé ma valeur, met la dans la variable toto" ?
Merci beaucoup ! :)
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
27 août 2014 à 10:01
27 août 2014 à 10:01
Oui, tu as un problème d'écriture, si tu regardes la doc de preg_match(https://www.php.net/manual/fr/function.preg-match.php tu vois que le pattern doit être délimité. De plus tu n'as pas suivi la regexp que je t'avais envoyé. Je viens de tester et modifier rapidement ton script pour que tu vois ce qu'il faut faire :
<?php
$content = file_get_contents("http://www.swpc.noaa.gov/ftpdir/latest/daypre.txt"); //récupération du contenu du fichier.
if (preg_match("/Class_M[^0-9]+([0-9]+)[^0-9]+([0-9]+)[^0-9]+([0-9]+)/", $content, $matches))
{
echo 'Le mot que vous cherchez se trouve dans la chaîne';
echo '<br/>Valeur 1 : '.$matches[1];
echo '<br/>Valeur 2 : '.$matches[2];
echo '<br/>Valeur 3 : '.$matches[3];
}
else
{
echo 'Le mot que vous cherchez ne se trouve pas dans la chaîne';
}
?>
ballow
Messages postés
5
Date d'inscription
mardi 26 août 2014
Statut
Membre
Dernière intervention
17 octobre 2014
27 août 2014 à 11:17
27 août 2014 à 11:17
Bonjour bonjour !
Alors je viens de tester le code, et bien... C'est PARFAIT :)
Merci beaucoup, en effet, je m'étais bien tromper dans la syntaxe :-/
On va mettre ça dans la fatigue, à force d'avoir le nez dedans on passe à coté de pas mal de choses...
Merci beaucoup Zep3k!GnO !
Bonne journée à toi :)
Alors je viens de tester le code, et bien... C'est PARFAIT :)
Merci beaucoup, en effet, je m'étais bien tromper dans la syntaxe :-/
On va mettre ça dans la fatigue, à force d'avoir le nez dedans on passe à coté de pas mal de choses...
Merci beaucoup Zep3k!GnO !
Bonne journée à toi :)
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
27 août 2014 à 11:30
27 août 2014 à 11:30
Pas de soucis, bonne journée !