Gå til innhold

[LØST]Hvordan valider URL'er med PHP?[/LØST]


Anbefalte innlegg

Hei!

 

Jeg lurer på hvordan jeg kan validere en URL/nettadresse? Har søkt både her, på W3Schools forumet og på Norsk Webforum, men kan ikke si at jeg har vært heldig med treffene mine.

 

Noen som vet hvordan man validerer de?

 

 

Takker!

 

 

Edit:

Løst

Endret av Anders-Moen
Lenke til kommentar
Videoannonse
Annonse

Takker. Skal se litt på den.

 

Fant en annen side også, men jeg vet ikke om den er helt sikker, men koden er:

$uri = 'http://some-domain-name.org';
if( preg_match(
'/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}'
.'((:[0-9]{1,5})?\/.*)?$/i' ,$uri))
{
echo $uri . ' is a valid url';
}
else
{
echo $uri . ' is NOT a valid url';
}

Lenke til kommentar
Gjest Slettet+142

Men du kan jo bare ta et enkelt søk i forumet / på google da :p

 

Da fant jeg en litt lengre, evt. bedre regex :)

^((http://)|(https://))((([a-zA-Z0-9_-]*).?([a-zA-Z0-9_-]*))|(([a-zA-Z0-9_-]*).?([a-zA-Z0-9_-]*).?([a-zA-Z0-9_-]*)))/?([a-zA-Z0-9_/?%=&+#.-~]*)$

Link - Kilde - REGEX

Lenke til kommentar
Gjest Slettet+142

Hehe. Jeghar ikke testet den REGEX-koden jeg postet selv.

Men jeg tror at den REGEX'en du har, ikke støtter en url som dette:

http://www.hei--not..tre.com/, altså URL med to dash etter hverandre eller to dots etter hverandre.

Jeg tror iallefall det :p

 

 

Hvis du evt. skulle lure på hva jeg søkte etter på Google, så var det "validate url regex" :p

 

Endret av Slettet+142
Lenke til kommentar

Hmm...takk for svar, men jeg tror jeg vil holde meg til den koden jeg har nå. Må ærlig innrømme at jeg ikke skjønner så mye av koden, men fant ut at man ikke kan bruke subdomener med den koden. Hvordan kan jeg fikse sånn at man kan det?

 

Kode:

else if(!empty($website) AND !preg_match('/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}'.'((:[0-9]{1,5})?\/.*)?$/i' ,$uri)) {
echo 'This is not a real website';
die('');
}

 

 

Edit

Nå ser det ut som jeg har driti meg ut...glemte å forandre $uri

Endret av Anders-Moen
Lenke til kommentar
Gjest Slettet+142

Prøv den regex-en jeg postet og se om den kanskje funker da..

 

else if(!empty($website) AND !preg_match('/^((http://)|(https://))((([a-zA-Z0-9_-]*).?([a-zA-Z0-9_-]*))|(([a-zA-Z0-9_-]*).?([a-zA-Z0-9_-]*).?([a-zA-Z0-9_-]*)))/?([a-zA-Z0-9_/?%=&+#.-~]*)$/i' ,$uri)) {
echo 'This is not a real website';
die('');
}

 

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...