IP Adressen in einem Dokument auslesen
werner
- php
Hi und guten Tag,
ich hab ein html Dokument in dem an die 100 IP Adressen
im Text vorkommen, die ich im Moment aber per Hand auslese und separat speicher.
Gibt es eine Möglichkeit via PHP das Dokument einzulesen
und an Hand eine Suchstrings die IPs automatisch auszulesen
und in eine separate Text Datei zu speichern?
Vielen Dank für Eure Tipps
Werner
Hallo werner.
Gibt es eine Möglichkeit via PHP das Dokument einzulesen
und an Hand eine Suchstrings die IPs automatisch auszulesen
und in eine separate Text Datei zu speichern?
Ja, unter Verwendung von preg_match_all. Ein mögliches Suchmuster:
/([12]?[0-5]?[0-5]\.[12]?[0-5]?[0-5]\.[12]?[0-5]?[0-5]\.[12]?[0-5]?[0-5])/
Verbesserungswürdig aber ausreichend.
Einen schönen Montag noch.
Gruß, Mathias
Hallo werner.
Gibt es eine Möglichkeit via PHP das Dokument einzulesen
und an Hand eine Suchstrings die IPs automatisch auszulesen
und in eine separate Text Datei zu speichern?Ja, unter Verwendung von preg_match_all. Ein mögliches Suchmuster:
/([12]?[0-5]?[0-5]\.[12]?[0-5]?[0-5]\.[12]?[0-5]?[0-5]\.[12]?[0-5]?[0-5])/
Verbesserungswürdig aber ausreichend.
Einen schönen Montag noch.
Gruß, Mathias
Hallo Mathias,
Danke für den Tipp
jedoch bin ich leider nicht der PHP Profi um das umsetzen zu können.
Wie müsste ich preg-match-all einsetzen um:
Die IPs aus IPimText.html auszulesen und nach IP.txt zu exportieren
Danke für deine Hilfe
Werner
Hallo Werner,
Danke für den Tipp
jedoch bin ich leider nicht der PHP Profi um das umsetzen zu können.Wie müsste ich preg-match-all einsetzen um:
Die IPs aus IPimText.html auszulesen und nach IP.txt zu exportieren
Also echt - die größte Arbeit hat dir Mathias doch bereits abgenommen.
Wie wäre es da mit ein wenig Eigeninitiative?
Dafür braucht man kein PHP Profi zu sein.
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Hallo Werner,
Danke für den Tipp
jedoch bin ich leider nicht der PHP Profi um das umsetzen zu können.Wie müsste ich preg-match-all einsetzen um:
Die IPs aus IPimText.html auszulesen und nach IP.txt zu exportierenAlso echt - die größte Arbeit hat dir Mathias doch bereits abgenommen.
Wie wäre es da mit ein wenig Eigeninitiative?
Dafür braucht man kein PHP Profi zu sein.Grüße
Marc Reichelt || http://www.marcreichelt.de/
»»
Hallo Marc,
natürlich hab ich versucht das umzusetzten
Da aber nur Müll dabei rauskam habe ich halt nochmal nachgefragt
Nachdem ich mir aber nochmals Mathias regex angeschaut habe
/([12]?[0-5]?[0-5].[12]?[0-5]?[0-5].[12]?[0-5]?[0-5].[12]?[0-5]?[0-5])/
wurde mir der Fehler klar
IPs gehen nicht von 0-5 sondern von 0-9 :-)
Hier die Lösung:
<?php
$page = @implode('', file("IPimText.html"));
$anzahl=preg_match_all("/([12]?[0-9]?[0-9].[12]?[0-9]?[0-9].[12]?[0-9]?[0-9].[12]?[0-9]?[0-9])/", $page, $out);
echo "Es wurden $anzahl IPs gefunden:<br><br>";
echo implode("<br>",$out[0]);
exit;
Nochmals Danke für die Hilfestellung
Werner
Hallo Werner.
Nachdem ich mir aber nochmals Mathias regex angeschaut habe
/([12]?[0-5]?[0-5].[12]?[0-5]?[0-5].[12]?[0-5]?[0-5].[12]?[0-5]?[0-5])/wurde mir der Fehler klar
IPs gehen nicht von 0-5 sondern von 0-9 :-)
Fast. Mit obigem Muster wollte ich abfangen, dass eine IP-Adresse über 255.255.255.255 akzeptiert wird. Dass ich damit aber auch reguläre Adressen ausschließe, habe ich übersehen.
Hier die Lösung:
[…]
$anzahl=preg_match_all("/([12]?[0-9]?[0-9].[12]?[0-9]?[0-9].[12]?[0-9]?[0-9].[12]?[0-9]?[0-9])/", $page, $out);
[…]
Ja, ist die für diesen Fall wohl beste Lösung; alles weitere würde das Suchmuster nur deutlich verkomplizieren.
Einen schönen Montag noch.
Gruß, Mathias