LostOblivion Skrevet 13. april 2007 Del Skrevet 13. april 2007 Hei, Jeg har laget en funksjon function isLegalFormat($filename) { $pattern = "/(\.gif)|(\.jpg)|(\.png)$/"; return eregi($pattern, $filename); } som skal returnere true hvis stringen $filename slutter på .gif, .jpg, eller .png. Jeg skjønner ikke dette, fordi den returnerer bare true når jeg gir den en .jpg fil som argument... Hva gjør jeg galt? Lenke til kommentar
FraXinuS Skrevet 13. april 2007 Del Skrevet 13. april 2007 (endret) Fjern '/' fra starten og slutten eller bruk preg_match. Du må også bruke $ bak de andre endelsene. Endret 13. april 2007 av FraXinuS Lenke til kommentar
grimjoey Skrevet 13. april 2007 Del Skrevet 13. april 2007 function isLegalFormat($filename) { $legaltypes = ['.jpg', '.gif', '.png'] $filetype = substr(rtrim($filename),-4,4); return in_array($filetype, $legaltypes); } Lenke til kommentar
LostOblivion Skrevet 13. april 2007 Forfatter Del Skrevet 13. april 2007 Takk, det funket! Lurer på hvorfor .jpg funket da... Lenke til kommentar
FraXinuS Skrevet 13. april 2007 Del Skrevet 13. april 2007 .jpg funket fordi den sto i midten. Gif delen prøvde å matche "/.gif" og png delen prøvde å match på slutten av strengen, men hadde en / bak seg så derfor ble det feil tror jeg. Lenke til kommentar
grimjoey Skrevet 14. april 2007 Del Skrevet 14. april 2007 Tips: regex-coach .. http://weitz.de/regex-coach/ Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå