Function FindDomain(Url) If Url > "" Then FindEnd = False i = 0 EndPos = 0 Do i = i + 1 If FindEnd And Mid(Url,i,1) = "/" Then EndPos = i End If If Not FindEnd And Mid(Url,i,2) = "//" Then FindEnd = True i = i + 1 End If Loop Until i >= Len(Url)-1 Or EndPos > 0
If EndPos > 0 Then FindDomain = Left(Url,EndPos-1) Else FindDomain = Url End If End If End Function
Public Function FindURL(url) Start = InStr(1, url, "//") + 2' antal tegn til og med // Slut = InStr(Start, url, "/") - 1 ' antal tegn til og ikke med første / enkeltstående FindURL = Left(url, Slut) End Function
Public Function FindURL(url) Start = InStr(1, url, "//") + 2' antal tegn til og med // Slut = InStr(Start, url, "/") - 1 ' antal tegn til og ikke med første / enkeltstående FindURL = Left(url, Slut) End Function
Jeg synes den mest åbenlyse måtte være at hvis du har det fra en db, så gem både domænet, og hele url'en i databasen. Altså en felt til domæne og en til url.
Ellers er der jo en masse af tage hensyn til som jeg ikke lige vil bruge min tid på:>
Synes umiddelbart det virkede temmelig simpelt - har lavet det i en funktion, og forklaret hvad jeg gør.
<% Function FjernAltAndetEndDomaene(domaene)
strTemp = domaene ' Definerer forst domænet If InStr(strTemp,"/") > 0 Then ' Undersøger om der er andet end et domæne navn strTemp = Left(strTemp,InStr(strTemp,"/")-1) ' Det er der - fjern det! End If
madeindk: Prøv at køre bbc.co.uk igennem den der og se hvad du får ud. Næppe det rigtige ;)
Problemet med sådan en opgave er at det ikke er helt ligetil at definere hvor domænet slutter, og subdomænet begynder. Herhjemme er vi vant til at den "del" der kommer umiddelbart før .dk er en del af selve domænet, mens alt før er en del af subdomænet - og det er også rigtigt for mange TLDs.
Britiske adresser er et godt eksempel - eks. er BBC's hjemmesidde bbc.co.uk, og det er alt sammen en del af domænet, fordi det er en "third-level" registrering (second-level er ikke mulige i .uk). Samtidigt er der .sch.uk, reserveret til skoler, hvor man skal helt ud til *fjerde* niveau før du har hele domænet med - tredje niveau angiver hvilket distrikt skolen hører under.
Lige netop den kan du måske godt acceptere, men for at det ikke skal være løgn, så er der endda enkelte second-level domæner i .uk, som blev dannet inden de gik over til deres nuværende third-level-system. Der er også andre steder hvor man har variable niveauer, eks. Japan - Nintendo har eks. nintendo.co.jp, mens Nico Nico Douga, en populær japansk videotjeneste, har nicovideo.jp.
Den eneste egentlige løsning er derfor at man indsamler de fornødne oplysninger om hvilke niveauer registreringer foregår på for hvert enkelt TLD, og benytter disse til at afgøre hvor mange elementer der skal bruges til et domæne der slutter på det man nu har fået ind - og man skal så være forberedt på at holde det ved lige, så du ikke pludselig får forkerte resultater den dag der bliver indført et nyt TLD eller Storbritannien beslutter sig for at lave et nyt second-level domæne.
Problemet er at vi ikke på forhånd kender alle TLDer men er det mon muligt at gøre det med et komponent og i så fald hvilket ?
Synes godt om
Ny brugerNybegynder
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.