Aus String Ip+Port rausfiltern

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Smokers, 13. April 2009 .

  1. 13. April 2009
    Hallöchen, ich suche ne möglichkeit aus einem string ala :

    Code:
    121.22.29.182:80 2.1090 Transp. CN Y 94% 2009-04-13 14:16:17
    211.53.208.28:3128 2.1430 Transp. Y 100% 2009-04-13 14:16:17
    190.144.117.170:3128 2.1440 Elite CR ? 47% 2009-04-13 14:07:17
    82.44.239.26:9090 2.1470 Anon. GB N 25% 2009-04-13 14:07:17
    212.93.193.82:443 2.1600 Transp. SA Y 100% 2009-04-13 14:16:17
    222.124.206.45:8080 2.1850 Transp. ID Y 95% 2009-04-13 14:16:17
    61.135.147.172:80 2.1950 Transp. CN Y 98% 2009-04-13 14:16:17
    222.255.237.61:8080 2.1970 Transp. VN Y 73% 2009-04-13 14:16:17
    217.15.188.11:3128 2.1990 Transp. KZ Y 90% 2009-04-13 14:17:19
    69.62.141.46:3128 2.2100 Transp. US Y 69% 2009-04-13 14:17:19
    60.206.196.152:80 2.2150 Transp. CN N 41% 2009-04-13 14:17:19
    218.26.1.204:8080 2.2220 Transp. CN N 99% 2009-04-13 14:17:19
    211.115.185.42:8080 2.2520 Transp. N 100% 2009-04-13 14:16:17
    118.98.184.162:80 2.2750 Transp. ID Y 79% 2009-04-13 14:16:1
    124.206.218.5:80 2.3940 Transp. CN Y 97% 2009-04-13 14:16:17
    200.93.139.230:3128 2.4180 Transp. CR Y 96% 2009-04-13 14:16:17
    86.47.180.235:6654 2.4300 Elite IE N 4% 2009-04-13 14:04:17
    Die Ip Adresse und den dazugehörigen Port rauszufiltern....
    Den restlichen schmarn will ich in der txt nicht mehr haben, hab aber auch keine lust erstmal alle 5000 einträge zu bearbeiten.

    Ich weis das das ja irgendwie über reg ausdrücke laufen muss, aber ... wie?! ^^°°

    ich weis nur das ich mit preg_match dinge "finden" kann,wie kann man den rest wegschneiden...

    der reg müsste ja ungefähr so aussehen :

    preg_match ( '/ [0-255] . [0-255] .[0-255].[0-255]: [0-10000] /' );
     
  2. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    Gehste mit explode() (PHP: explode - Manual) vor.
     
  3. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    preg_match_all('/([0-255].[0-255].[0-255].[0-255]:[0-10000])/',$input,$output);
    print_r($output);
     
  4. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    Wenn du es mit preg_match machen willst, gibst du einfach jedem "rausgeschnittenen" eine eigene Klammer und nicht allem insgesamt eine. Dann kannst du per $1,$2,$3 ect. auf die Ausgabe zurückgreifen.
     
  5. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    ach kann man bei explode regs angeben ja ?
    wusste ich nicht, ich dachte es gehen nur normale delimiter....

    // danke telefon ^^
    .. bedankos sind raus...
     
  6. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    PHP:
    <?
    $ips  '21.22.29.182:80    2.1090    Transp.    CN    Y    94%    2009-04-13 14:16:17
    211.53.208.28:3128    2.1430    Transp.        Y    100%    2009-04-13 14:16:17
    190.144.117.170:3128    2.1440    Elite    CR    ?    47%    2009-04-13 14:07:17
    82.44.239.26:9090    2.1470    Anon.    GB    N    25%    2009-04-13 14:07:17
    212.93.193.82:443    2.1600    Transp.    SA    Y    100%    2009-04-13 14:16:17
    222.124.206.45:8080    2.1850    Transp.    ID    Y    95%    2009-04-13 14:16:17
    61.135.147.172:80    2.1950    Transp.    CN    Y    98%    2009-04-13 14:16:17
    222.255.237.61:8080    2.1970    Transp.    VN    Y    73%    2009-04-13 14:16:17
    217.15.188.11:3128    2.1990    Transp.    KZ    Y    90%    2009-04-13 14:17:19
    69.62.141.46:3128    2.2100    Transp.    US    Y    69%    2009-04-13 14:17:19
    60.206.196.152:80    2.2150    Transp.    CN    N    41%    2009-04-13 14:17:19
    218.26.1.204:8080    2.2220    Transp.    CN    N    99%    2009-04-13 14:17:19
    211.115.185.42:8080    2.2520    Transp.        N    100%    2009-04-13 14:16:17
    118.98.184.162:80    2.2750    Transp.    ID    Y    79%    2009-04-13 14:16:1
    124.206.218.5:80    2.3940    Transp.    CN    Y    97%    2009-04-13 14:16:17
    200.93.139.230:3128    2.4180    Transp.    CR    Y    96%    2009-04-13 14:16:17
    86.47.180.235:6654    2.4300    Elite    IE    N    4%    2009-04-13 14:04:17'
    ;

    if(
    preg_match_all ( '=[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{1,8}=' , $ips , $matches ))
            echo 
    '<pre>' print_r ( $matches , true ) . '</pre>' ;
        else
            echo 
    'Es wurden keine IPs gefunden!' ;
    ?>
     
  7. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    Cool, letzteres funzt super =) danke...

    nu könnte man doch noch utnerscheiden, wenn zB der port per tab angegeben ist oder?

    im moment filtert er nur die die per ":" angegeben sind.
    Doch bei manchen seiten wird es per "127.0.0.1 80 bla bla blubb bla" angegeben

    könnte man da noch per "\t" als unterscheidung zum ":" filtern? oder is das weniger praktikabel?
     
  8. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    Eigentlich nicht aber sorry, ich hatte das wohl falsch verstanden.. wie die Vorredner schn sagen eihgnet sich "preg_match()" natürlich dafür wesentlich besser
     
  9. 13. April 2009
    AW: Aus String Ip+Port rausfiltern

    PHP:
    <?
    $ips  '21.22.29.182:80    2.1090    Transp.    CN    Y    94%    2009-04-13 14:16:17
    211.53.208.28:3128    2.1430    Transp.        Y    100%    2009-04-13 14:16:17
    190.144.117.170:3128    2.1440    Elite    CR    ?    47%    2009-04-13 14:07:17
    82.44.239.26:9090    2.1470    Anon.    GB    N    25%    2009-04-13 14:07:17
    212.93.193.82:443    2.1600    Transp.    SA    Y    100%    2009-04-13 14:16:17
    222.124.206.45:8080    2.1850    Transp.    ID    Y    95%    2009-04-13 14:16:17
    61.135.147.172:80    2.1950    Transp.    CN    Y    98%    2009-04-13 14:16:17
    222.255.237.61    8080    2.1970    Transp.    VN    Y    73%    2009-04-13 14:16:17
    217.15.188.11    3128    2.1990    Transp.    KZ    Y    90%    2009-04-13 14:17:19
    69.62.141.46    3128    2.2100    Transp.    US    Y    69%    2009-04-13 14:17:19
    60.206.196.152:80    2.2150    Transp.    CN    N    41%    2009-04-13 14:17:19
    218.26.1.204:8080    2.2220    Transp.    CN    N    99%    2009-04-13 14:17:19
    211.115.185.42    8080    2.2520    Transp.        N    100%    2009-04-13 14:16:17
    118.98.184.162:80    2.2750    Transp.    ID    Y    79%    2009-04-13 14:16:1
    124.206.218.5:80    2.3940    Transp.    CN    Y    97%    2009-04-13 14:16:17
    200.93.139.230    3128    2.4180    Transp.    CR    Y    96%    2009-04-13 14:16:17
    86.47.180.235:6654    2.4300    Elite    IE    N    4%    2009-04-13 14:04:17'
    ;

    if(!
    preg_match_all ( '=([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(?:\s|:)+([0-9]{1,8})=' , $ips , $pregmatches ))
        die(
    'Es wurden keine IPs gefunden!' );

    $precalc  sizeof ( $pregmatches [ 0 ]);
    for(
    $a = $a < $precalc  ; ++ $a )
        
    $matches [] =  $pregmatches [ 1 ][ $a ] . ':' $pregmatches [ 2 ][ $a ];

    echo 
    '<pre>' print_r ( $matches , true ) . '</pre>' ;
    ?>
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.