Avatar billede Slettet bruger
06. januar 2004 - 23:58 Der er 6 kommentarer og
1 løsning

Fylde et array vha. regexp's

Hej exp's

Jeg har lavet et script, der tager diverse filer i en bestemt dir, og smider dem i et array. (Jeg benytter den indbyggede dir-klasse.)

Da de filer jeg skal bruge, indeholder et tal i navnet, ønsker jeg, vha. en regular expression (tror jeg, i hvert fald?) at kun fylde arrayet med de tal fra filnavnene.

Altså, hvis dir'et indeholder "image_4.jpg" og "image_52_thumb.jpg", skal arrayet indeholder "4,52".

Jeg vil tro det er den while-løkke, der tillægger arrayet's sine værdier der skal ændres. Det ser sådan ud:

// While-løkken
while($file = $dir->read()) {
    $filenames[] = $file;
    }
$dir->close();

På forhånd tak
Avatar billede detox Nybegynder
07. januar 2004 - 00:13 #1
Måske:

while($file = $dir->read()) {
    if (preg_match("/(\d+)/", $file, $match)) {
        $filenames[] = $match[1];
    }
}
Avatar billede Slettet bruger
07. januar 2004 - 00:19 #2
Jeg får postet to 9-taller.
Det giver ikke megen mening, jeg tjekker en folder der indeholder "1_thumb.jpg" til "10_thumb.jpg", så den skulle om noget give kun ét 9-tal...
Avatar billede Slettet bruger
07. januar 2004 - 00:22 #3
Mig der vrøvler. Det virker jo storartet.

Har du en idé om, hvordan man kunne smide det i associative array, så 1, blev 1, og ikke 10 ?
Avatar billede detox Nybegynder
07. januar 2004 - 00:23 #4
Nu er jeg ikke helt med. 1 skal være 10?
Avatar billede detox Nybegynder
07. januar 2004 - 00:25 #5
Næ ikke 10, hvad mener du?
Avatar billede Slettet bruger
07. januar 2004 - 00:26 #6
Nej, men jeg sorterede bare indholdet, så var den der ;)

Smider du et svar?
Avatar billede detox Nybegynder
07. januar 2004 - 00:26 #7
c",)
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