Page 1 sur 1

Trouver un élément dans un fichier txt

Posté : 16 mai 2015, 14:46
par Ribesteban
Bonjour à tous,
J'ai un problème, il faudrait que je sois capable de trouver un éléments précis dans un fichier texte sans le connaitre exactement au préalable.

Par exemple :
Interesting ports on 192.168.89.69:
Not shown: 1678 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 00:0B:82:68:B3:51 (Grandstream Networks)

des fois je peut tomber sur ce genre de fichier texte et la seule valeur qui m'intéresse est MAC Address.
il faudrait donc à partir juste de MAC Address je sois capable de resortir 00:0B:82:68:B3:51 et ensuite la ranger dans une variable.

Merci d'avance de vos réponses ! :)

Re: Trouver un élément dans un fichier txt

Posté : 16 mai 2015, 15:20
par tof73
tu parcours ton fichier ligne par ligne http://php.net/manual/fr/function.fgets.php
et pour chaque ligne, tu testes ton expression régulière de récupération de l'adresse mac
http://php.net/manual/fr/function.preg-match.php

Re: Trouver un élément dans un fichier txt

Posté : 16 mai 2015, 15:32
par Ribesteban
Bonjour, pourrait tu juste m'expliquer un peu plus en détail parceque je suis déjà tombé sur cette page en cherchant mais je m'en sort pas.
Il faut qu'a chaque ligne j'utilise pattern ?
Qu'est ce qu'il faut que je place dans mon code exactement ?

Re: Trouver un élément dans un fichier txt

Posté : 18 mai 2015, 20:49
par mathieu269
ton code devrait ressemble à cela :

Code : Tout sélectionner

foreach ($listeLigne as $ligne) { if (FALSE !== strpos("MAC Address: ", $ligne)) {// si la ligne contient "MAC Address: " // recherche dans la ligne preg_match("!MAC Address: (.*)!", $ligne, $resultats); // le tableau $resultats devrait contenir l'adresse MAC var_dump($resultats); } }