Gå til innhold

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


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Skrevet

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';
}

Gjest Slettet+142
Skrevet

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

Gjest Slettet+142
Skrevet (endret)

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
Skrevet (endret)

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
Gjest Slettet+142
Skrevet

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('');
}

 

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å
×
×
  • Opprett ny...