Anzeige:
Ergebnis 1 bis 8 von 8

Thema: IP-Adressen parsen

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.08.2003
    Beiträge
    7

    IP-Adressen parsen

    HAllo,

    ich brauche ein PHP-Skript, um IP-Adressen aus einem text-file zu parsen, auf gültigkeit zu überprüfen und in eine DB zu schreiben. Das einlesen des Textfiles ist kein Problem, das schreiben in die DB auch nicht, leider kenne ich mich mit regulären Ausdrücken so gut wie gar nicht aus und kann daher die IP-Adressen nicht aus dem Text heraulesen. Hat jemand dazu ein passendes Stück Code?
    Vielen Dank im vorraus.

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.07.2001
    Beiträge
    144
    Hi,

    wie sieht die Datei aus? Sollen die Ip-Adressen auf IPv4 oder IPv6 geprüft werden?

    Offe

  3. #3
    Registrierter Benutzer
    Registriert seit
    26.08.2003
    Beiträge
    7

    File

    Das File ist ein Text File in dem an beliebigen Stellen beliebig viele IP-Adressen V4 stehen.

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.07.2001
    Beiträge
    144
    Hi,

    PHP-Code:
    $txt "wetwertre 1.7.123.56.78 dfgdfgdf 111.7.123.56.78 dfgdfgdf 1.55.123.56.78 dfgdfgdf";
    preg_match_all("/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/"$txt$regs);
    print_r($regs); 
    könnte helfen

    Offe

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.07.2003
    Beiträge
    147
    PHP-Code:
    preg_match_all("/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/"$txt$regs); 
    sollte der '.' nicht besser escaped werden?

    mfg

    c.

  6. #6
    Registrierter Benutzer
    Registriert seit
    27.04.2003
    Beiträge
    8
    Ich mach's immer so: (funktioniert auch Problemlos, solang man nicht von 192.168.x.y auf den Server zugreift)


    PHP-Code:
    //Beispiel für die Herleitung der IP
    $strIp $_SERVER['REMOTE_ADDR'];

    //Prüfen, ob $strIp umgewandelt in einen Int und wieder zurückverwandelt das gleiche darstellt wie die eingegebene IP Addresse, sprich ob sie korrekt ist.
    if(long2ip(ip2long($strIp)) === $strIp)
    {
    //IP ist ok
    }
    else
    {
    //IP ist falsch


  7. #7
    Registrierter Benutzer
    Registriert seit
    20.07.2001
    Beiträge
    144
    Hi,

    >> sollte der '.' nicht besser escaped werden?

    habe ich gemacht ist aber irgendwo verlorengegangen

    preg_match_all("/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/", $txt, $regs);

    Offe

  8. #8
    Registrierter Benutzer
    Registriert seit
    26.08.2003
    Beiträge
    7

    Danke

    hat geklappt, vielen Dank euch allen....

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •