Avatar billede el_coyote Nybegynder
08. september 2003 - 04:13 Der er 9 kommentarer og
1 løsning

URL validering i php - skummel url

Jeg har behov for at validere en url af typen:
http://www.randompage.dk/r/?eid=HTDBVSR&key=HTD (ikke eksisterende)
jeg har prøvet en række reg.exp til at validere den med, men den failer alle jeg har prøvet. og da jeg ikke på nuværende tidspunkt har megen insign it reg.exp håber jeg at der er nogen der kan hjæpe med en der kan lade denne url slippe igennem.

jeg koder i php.

på forhånd tak.
Avatar billede Slettet bruger
08. september 2003 - 04:43 #1
eftersom den virker fint her på exp som bruger ljweb's tagster så kan du jo passende bruge den :)
http://www.ljweb.dk/usefulscripts/
Avatar billede limemedia Nybegynder
08. september 2003 - 04:43 #2
Jeg lavede en hurtig en med support for ftp, http og https url'er... Jeg har lavet lidt debug, så du kan teste den

/ LJ

<?php
    function checkURL($url) {
        if (preg_match ("/^(ftp|http|https):\/\/([a-z0-9~#%@&:;=!',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+$)/i", $url)) {
            return 'true';
        } else {
            return 'false';
        }
    }

    echo "<br> 1; ".checkURL('http://www.ljweb.com');
    echo "<br> 2; ".checkURL('benni');
    echo "<br> 3; ".checkURL('ljweb.com');
    echo "<br> 4; ".checkURL('http://www.randompage.dk/r/?eid=HTDBVSR&key=HTD');
?>
Avatar billede Slettet bruger
08. september 2003 - 04:44 #3
hmm måske jeg misforstod spm lidt - glem mit svar
Avatar billede limemedia Nybegynder
08. september 2003 - 04:47 #4
space >> dit svar kunne godt bruges til at løse hans problem - regexp'en er delvist taget derfra
Avatar billede martin.jensen Nybegynder
08. september 2003 - 11:25 #5
Første punkt er at sætte dig ned med at stykke papir og få defineret hvad det præcist er du vil validere. Skal en url som

martin@tester:www.tele.dk:311/test1/hej

fx valideres som ok, eller hvad??
Avatar billede el_coyote Nybegynder
08. september 2003 - 12:57 #6
kun url's der ligner den jeg har skrevet i beskrivelsen, andre har ikke nogey at gøre der, men ljweb's er fin og den virker, så han får points, så må jeg lige sætte mig ned og tudere den så jeg selv kan lave dem en anden gange :)
Avatar billede el_coyote Nybegynder
08. september 2003 - 17:53 #7
hmm ljwebs løsning validerer også
http://test.com/ onclick=\\\"alert(\\\'pop!\\\')
og altmuligt andet skrammel efter url'en
Avatar billede el_coyote Nybegynder
08. september 2003 - 18:15 #8
glem det - my bad
Avatar billede mo-bo Nybegynder
17. februar 2006 - 13:37 #9
hmm den virker ikke rigtigt, den godkender http://hej

:(
Avatar billede limemedia Nybegynder
17. februar 2006 - 13:49 #10
http://hej kan ogsaa vaere en gyldig url
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
Kurser inden for grundlæggende programmering

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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging