Avatar billede axkris Nybegynder
08. marts 2004 - 21:01 Der er 24 kommentarer og
2 løsninger

Udbygge domæne-script (vb)

Hej

Jeg har et script, som finder domænenavnet uanset om der står WWW foran eller ej, men jeg vil gerne have udbygget scriptet, så den kun matcher ved links, som er bygget op følgende måde:

id=listlinks href="http://www.domænenavn.det" target=_scurl>

_____________________________

dim arrTitler(10)

Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = True

objRegExp.Pattern = "(http://)([^\.]*?)(\.)([^\.]*?)(\.)([^\.]*?)(>)"
set matches = objRegExp.Execute(strRetval)

i = 0

for each match in matches
    arrTitler(i) = objRegExp.Replace(match.value, "$4")
    i = i + 1
next

set objRegExp = Nothing
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:03 #1
dim arrTitler(10)

Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = True

objRegExp.Pattern = "id=listlinks href=""(.*?)"" target=_scrul>"
set matches = objRegExp.Execute(strRetval)

i = 0

for each match in matches
    arrTitler(i) = objRegExp.Replace(match.value, "$4")
    i = i + 1
next

set objRegExp = Nothing

Sådan her fx...
Avatar billede axkris Nybegynder
08. marts 2004 - 21:03 #2
Der skulle retteligt stå:

id=listlinks href="http://www.DETTE_SKAL_BRUGE.dk" target=_scurl>

(Landekoden kan også være andre end dk)
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:05 #3
husk lige dette...
http://www.eksperten.dk/spm/471519

og mht din rettelse.. Så burde ovenstående virke alligevel.
Avatar billede axkris Nybegynder
08. marts 2004 - 21:08 #4
Ups, jeg havde glemt at acceptere - hviklet er gjort nu. Men det virker ikke. Der kommer intet output.
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:08 #5
i det andet spg eller hvad ?
Avatar billede axkris Nybegynder
08. marts 2004 - 21:10 #6
Det virker ikke nogle af stederne, men måske er det fordi at der skiftes linie (kopieret rådt ind):

<A id=listlinks
            href="http://www.enhjemmeside.dk/en_side.html" target=_scurl>
Avatar billede axkris Nybegynder
08. marts 2004 - 21:11 #7
Det er ikke altid, at der skiftes linie.
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:11 #8
altså hvis der er vbcrlf eller <br> virker det ikke vil jeg tro.
Avatar billede axkris Nybegynder
08. marts 2004 - 21:12 #9
Kan du ikke smide noget kode?
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:13 #10
dim arrTitler(10)

Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = True

objRegExp.Pattern = "(http://)([^\.]*?)(\.)([^\.]*?)(\.)([^\.]*?)(>)"
set matches = objRegExp.Execute(replace(replace(strRetval,"<br>",""),vbcrlf,""))

i = 0

for each match in matches
    arrTitler(i) = objRegExp.Replace(match.value, "$4")
    i = i + 1
next

set objRegExp = Nothing

prøv evt. denne...
Avatar billede axkris Nybegynder
08. marts 2004 - 21:20 #11
Nu matcher den alle links, men den kun matche dem, som er opbygget på følgende måde:

<A id=listlinks href="http://www.enhjemmeside.dk/en_side.html" target=_scurl>
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:22 #12
dim arrTitler(10)

Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = True

objRegExp.Pattern = "id=listlinks href=""http://www.(.*?)(\.)(.*?)(target=_scrul>)"
set matches = objRegExp.Execute(replace(replace(strRetval,"<br>",""),vbcrlf,""))

i = 0

for each match in matches
    arrTitler(i) = objRegExp.Replace(match.value, "$1")
    i = i + 1
next

set objRegExp = Nothing
Avatar billede axkris Nybegynder
08. marts 2004 - 21:24 #13
Jamen, den skal netop matche med eller uden WWW. Dit script matcher kun med WWW.
Avatar billede axkris Nybegynder
08. marts 2004 - 21:26 #14
Følgende matcher med eller uden WWW:
objRegExp.Pattern = "(http://)([^\.]*?)(\.)([^\.]*?)(\.)([^\.]*?)(>)"

Men den tager desværre alle links ind... den skulle kun tage omtalte links.
Avatar billede axkris Nybegynder
08. marts 2004 - 21:30 #15
Med andre ord; hvis du kan kombinere det script, som finder domænenavnet uanset WWW med det script, som matcher ved omtalte links, så har du svaret :)
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:31 #16
dim arrTitler(10)

Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = True

objRegExp.Pattern = "id=listlinks href=""http://www.(.*?)(\.)(.*?)(target=_scrul>)"
objRegExp.Pattern = "id=listlinks href=""http://(.*?)(\.)(.*?)(target=_scrul>)"
set matches = objRegExp.Execute(replace(replace(strRetval,"<br>",""),vbcrlf,""))

i = 0

for each match in matches
    arrTitler(i) = objRegExp.Replace(match.value, "$1")
    i = i + 1
next

set objRegExp = Nothing

så prøv denne...
Avatar billede axkris Nybegynder
08. marts 2004 - 21:42 #17
Virker ikke:

strRetval = "<A id=listlinks href=""http://www.førstHjemmeside.dk/en_side.html"" target=_scurl>    <A id=listlinks href=""http://www.andenHjemmeside.com/en_side.html"" target=_scurl>  <A id=listlinks href=""http://tredjeHjemmeside.dk/"" target=_scurl>"

    dim arrTitler(10)

    Set objRegExp = New RegExp
    objRegExp.Global = True
    objRegExp.IgnoreCase = True

    objRegExp.Pattern = "id=listlinks href=""http://www.(.*?)(\.)(.*?)(target=_scrul>)"
    objRegExp.Pattern = "id=listlinks href=""http://(.*?)(\.)(.*?)(target=_scrul>)"
    set matches = objRegExp.Execute(replace(replace(strRetval,"<br>",""),vbcrlf,""))

    i = 0

    for each match in matches
        arrTitler(i) = objRegExp.Replace(match.value, "$1")
        i = i + 1
    next

    set objRegExp = Nothing
Avatar billede ellebaek Nybegynder
08. marts 2004 - 21:58 #18
Sådan her så da...


<%
dim myarr(10)
tekst = "<A id=listlinks href=""http://www.førstHjemmeside.dk/en_side.html"" target=_scurl>    <A id=listlinks href=""http://www.andenHjemmeside.com/en_side.html"" target=_scurl>  <A id=listlinks href=""http://tredjeHjemmeside.dk/"" target=_scurl>"

i = 0

Function LinkToString(strInput)

Set objRegExpHTTP1 = New RegExp
objRegExpHTTP1.Global = True
objRegExpHTTP1.IgnoreCase = True

objRegExpHTTP1.Pattern = "(.*?)(http://www.|http://)(.*?)(\.)(.*?)(>)"
strOutput = objRegExpHTTP1.Replace(strInput, "$3")

set objRegExpHTTP1 = Nothing
LinkToString = strOutput
End Function

Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = True

objRegExp.Pattern = "(.*?)(id=listlinks href="")(http://www.|http://)(.*?)(\.)(.*?)(target=_scurl>)"
set matches = objRegExp.Execute(tekst)

for each match in matches
myarr(i) = LinkToString(match.value)
i = i+1
next

set objRegExp = Nothing
for i = 0 to UBound(myarr)
response.write myarr(i) & "<br>"
next
%>
Avatar billede axkris Nybegynder
08. marts 2004 - 22:37 #19
Jamen, det virker så smukt :D Så er den i hus.

Kan jeg bede dig om de sidste lille ting. Jeg har nogle links, hvor der blot lige er byttet om på nogle ting:

<a id="listlinks" target="_scurl" href="http://www.enHjemmeside.com/enSide.htm">

Kan du ikke smide mig et pattern, som ville virke med disse links?
Avatar billede ellebaek Nybegynder
08. marts 2004 - 22:39 #20
jo muligvis...

prøv denne...
objRegExp.Pattern = "(.*?)(id=""listlinks"" target=""_scrul"" href="")(http://www.|http://)(.*?)(\.)(.*?)(>)"
Avatar billede axkris Nybegynder
08. marts 2004 - 22:47 #21
Jeg kan ikke få det til at virke, er der mere, som jeg skal ændre på?

dim myarr(10)
strRetval = "<a id=""listlinks"" target=""_scurl"" href=""http://www.minHjemmeside.com/main.htm"">"
   
Set objRegExp = New RegExp
objRegExp.Global = True
objRegExp.IgnoreCase = True

objRegExp.Pattern = "(.*?)(id=""listlinks"" target=""_scrul"" href="")(http://www.|http://)(.*?)(\.)(.*?)(>)"
set matches = objRegExp.Execute(strRetval)

for each match in matches
    myarr(i) = LinkToString(match.value)
    i = i+1
next

set objRegExp = Nothing
for i = 0 to UBound(myarr)
    response.write myarr(i) & "<br>"
next
Avatar billede ellebaek Nybegynder
08. marts 2004 - 22:51 #22
der skal være 2x " efter listlinks i pattern
tror det er en bug på exp... for den plejer at fjerne min nr. 2...
Avatar billede ellebaek Nybegynder
08. marts 2004 - 22:52 #23
men det skal der også i din strRetval
Avatar billede axkris Nybegynder
08. marts 2004 - 22:54 #24
Jeg rettede selv da fejl, da browseren brokkede sig. Men det er ikker her, at fejlen ligger.
Avatar billede axkris Nybegynder
08. marts 2004 - 22:54 #25
da = den fejl
Avatar billede axkris Nybegynder
10. marts 2004 - 12:04 #26
Tak for hjælpen :)

Jeg opretter lige et ekstra spg. til mit sidste problem
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