Trouver un élément dans un fichier txt

Petit nouveau ! | 2 Messages

16 mai 2015, 14:46

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 ! :)

Mammouth du PHP | 688 Messages

16 mai 2015, 15:20

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

Petit nouveau ! | 2 Messages

16 mai 2015, 15:32

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 ?

Eléphanteau du PHP | 23 Messages

18 mai 2015, 20:49

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); } }