Avatar billede benzon Praktikant
27. marts 2004 - 01:20 Der er 15 kommentarer og
1 løsning

at skralde det info man ønsker ud fra en tekst fil

Er der en måde så jeg kan skralde alt det ud jeg vil bruge skal bruge alle iper i den fil men skal ikke bruge dixpeers der står i enden kun eks 15.195.176.0/20 and so on nogen der kan hjælpe mig :|

Tekst filen ser sådan ud
http://mon.jay.net/cisco_ipaccounting/peers/dixpeers
Avatar billede detox Nybegynder
27. marts 2004 - 01:36 #1
$data = file('dixpeers');
foreach($data as $val) {
    list($ip[]) = explode("\t", $val);
}

så ligger de i array'et: $ip.
Avatar billede detox Nybegynder
27. marts 2004 - 01:38 #2
Eller evt.:

$data = file('http://mon.jay.net/cisco_ipaccounting/peers/dixpeers');
foreach($data as $val) {
    list($ip[]) = explode("\t", $val);
}

Hvis du vil hente dem fra url'en.
Avatar billede detox Nybegynder
27. marts 2004 - 01:48 #3
PS: Så lige du havde udlovet 200p, det er alt for meget. Det er et spørgsmål til 15 eller max 30p.
Avatar billede benzon Praktikant
27. marts 2004 - 01:55 #4
hehe syntes jeg ikke hvis jeg får noget der virker :)

vil teste det du kom med der :)
Avatar billede benzon Praktikant
27. marts 2004 - 02:06 #5
eneste problem med det du kom med er den printer ordet array ud når jeg laver echo $ip hehe
Avatar billede detox Nybegynder
27. marts 2004 - 02:06 #6
Af uransalige årsager ligger der ikke nogen værdier i $ip[0]?
Her er en alternativ løsning, som samtidig er hurtigere:

$data = file_get_contents('dixpeers');
preg_match_all("/^(.*)\t/m", $data, $match);

så ligger ip'erne i array'et: $match[1].
Kan fx udskrives med:

foreach($match[1] as $val) {
    echo $val."<br />\n";
}
Avatar billede detox Nybegynder
27. marts 2004 - 02:07 #7
Den anden skal udskrives med fx:

foreach($ip as $val) {
    echo $val."<br />\n";
}

men som sagt er den første værdi tom. Så brug hellere den anden.
Avatar billede detox Nybegynder
27. marts 2004 - 02:09 #8
Altså:

$data = file_get_contents('dixpeers');
preg_match_all("/^(.*)\t/m", $data, $match);
foreach($match[1] as $val) {
    echo $val."<br />\n";
}
Avatar billede benzon Praktikant
27. marts 2004 - 02:09 #9
se det virkede :D
Avatar billede benzon Praktikant
27. marts 2004 - 02:12 #10
så er der lige et prob vi skal ha løst hehe

15.195.176.0/20    <br>
15.197.192.0/18    <br>
15.198.0.0/17    <br>
15.203.128.0/18    <br>
15.204.128.0/17    <br>

Den laver en masse mellemrum altså den aligner <br> stort set hele vejen ned nogetn mulidhed for at slippe af med dem gør mit arbejde en del nemmere hehe
Avatar billede detox Nybegynder
27. marts 2004 - 02:13 #11
$data = file_get_contents('dixpeers');
preg_match_all("/^(.*)\t/m", $data, $match);
foreach($match[1] as $val) {
    echo $val."\n";
}
Avatar billede benzon Praktikant
27. marts 2004 - 02:18 #12
du er en skat :D

Så kan jeg komme igang med at lave de andre ting der skal addes :|

hehe, skal have den til at lave den præsise linie til en iptables firewall på linux hehe, men det gjore det sku meget nemmere med din hjælp nu kan jeg jo lige frem få smidt det hele ind og få det genereret så det er copy paste der bare skal bruges for at opdatere firewallen :)
Avatar billede detox Nybegynder
27. marts 2004 - 02:20 #13
Du kunne måske lige tilføje en trim() for en sikkerheds skyld:

$data = file_get_contents('dixpeers');
preg_match_all("/^(.*)\t/m", $data, $match);
foreach($match[1] as $val) {
    echo trim($val)."\n";
}
Avatar billede benzon Praktikant
27. marts 2004 - 02:22 #14
hopper lige ind på php.net og læser hvad trim gør :D
Avatar billede benzon Praktikant
27. marts 2004 - 02:22 #15
arhhh lækkert :D
Avatar billede benzon Praktikant
27. marts 2004 - 02:26 #16
takker det var rigtig nyttig funktion den sidste :)

Nu mangler jeg lige at få confirmet at jeg kan bruge den metode til firewall hehe :D

altså eks
-A webmin -p tcp -m tcp -m multiport -m state -s 15.195.176.0/20 --state NEW,ESTABLISHED -j ACCEPT --dports 10000,9000,22

Hehe :) men skulle det gøre :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester