Avatar billede andersthingholm Nybegynder
17. november 2005 - 00:23 Der er 8 kommentarer og
1 løsning

Læs tekstfil

Hej,

Jeg har en tekstfil med en masse linjer som gerne skal behandles enkeltvis.

En linje kan se sådan ud:

AAAAAA  BB  CCC  DDDDDDDDD  EEEEEE FF        GGGGG

Filen er desværre ikke kommasepareret, så der skal tælles på antal karakterer.

Vi ved f.eks. at karakternummer 1-6 (AAAAAA) udgør en værdi og 10-11 (BB) udgør en anden.

Hvordan laver jeg et loop som echo'er dette ud:

Value1: AAAAAA
Value2: BB
Value3: CCC
Value4: DDDDDDDDD
Value5: EEEEEE
Value6: FF
Value7: GGGGG
Avatar billede andersthingholm Nybegynder
17. november 2005 - 01:16 #1
Jeg har nu denne kode, som sprøjter linjerne ud:

    $file = "temp/".$_GET['filename'];
    $lines = file($file);
    foreach ($lines as $line_num => $line) {
          echo "Line #<b>{$line_num}</b> : " .$line. "<br />\n";
    }

Så mangler jeg bare lidt hjælp til at splitte linjen op. Måske kan de gøres med en funktion som modtager 3 parametre - linjens tekst, start karakter, slut karakter
Avatar billede plx Nybegynder
17. november 2005 - 01:18 #2
du kan bruge substr til at trække data ud med, hvis position og længde altid er den samme

result = substr(tekst, start, længde);
Avatar billede plx Nybegynder
17. november 2005 - 01:19 #3
start = 0 er første karakter
hvis start er negativ, tæller den fra højre. Dvs start=-1 er sidste karakter
Avatar billede jakobdo Ekspert
17. november 2005 - 08:25 #4
Hvad noget i denne stil:

$file = "temp/".$_GET['filename'];
$lines = file($file);
foreach ($lines as $line_num => $line)
{
    if (preg_match('/(\\w+)/', $line, $match))
    {
        echo "<pre>";
        print_r($match);
        echo "</pre>";
    }
    //echo "Line #<b>{$line_num}</b> : " .$line. "<br />\n";
}
Avatar billede andersthingholm Nybegynder
17. november 2005 - 08:44 #5
plx - smider du et svar?
Avatar billede jakobdo Ekspert
17. november 2005 - 08:48 #6
Ikke for noget, men jeg tror du vil blive gladere for min løsning!
Dog skal linien: preg_match rettes til: preg_match_all
Den vil nemlig være ligeglad hvor en linie starter og slutter.
Avatar billede andersthingholm Nybegynder
28. september 2006 - 12:05 #7
Er der en af jer der smider et svar?
Avatar billede jakobdo Ekspert
28. september 2006 - 12:28 #8
Svar!
Avatar billede jakobdo Ekspert
28. september 2006 - 12:39 #9
Takker for point.
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