Avatar billede axkris Nybegynder
10. marts 2004 - 12:07 Der er 15 kommentarer og
1 løsning

Ændre lidt i pattern

Hej

Jeg kan ikke få den til at matche, fordi mit pattern ikke er helt korrekt. Men da jeg ikke ved noget om reg.exp. kan jeg ikke selv ændre det.

PS. Der er en bug i eksperten, så den sommetider fjerner et af de to aprostroffer, som står ved siden af hinanden.

___________________________________________________________


<%
dim myarr(10)
tekst = "<a id=""listlinks"" target=""_scurl"" href=""http://www.enHjemmeside.com/enSide.htm"">  <a id=""listlinks"" target=""_scurl"" href=""http://www.toHjemmeside.dk/"">      <a id=""listlinks"" target=""_scurl"" href=""http://www.treHjemmeside.com/sub/enSide.htm"">"

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"" target=""_scrul"" href="")(http://www.|http://)(.*?)(\.)(.*?)(>)"
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 Slettet bruger
10. marts 2004 - 18:28 #1
Prøv at beskrive hvad det er, der skal matche, men ikke gør det, eller hvad der matcher, når det ikke skal. Uden at vide, hvad der er galt, er det jo ikke nemt at rette.
Avatar billede ellebaek Nybegynder
10. marts 2004 - 21:05 #2
Hey ax..

Hvad udskriver den når du benytter det pattern ?
Avatar billede axkris Nybegynder
11. marts 2004 - 09:46 #3
Den udskriver ingenting. Prøv selv at køre scriptet på din pc, så kan du se det :)
Avatar billede ellebaek Nybegynder
11. marts 2004 - 11:14 #4
prøv denne. og sig hvad den skriver.
<%
dim myarr(10)
tekst = "<a id=""listlinks" target=""_scurl"" href=""http://www.enHjemmeside.com/enSide.htm"">  <a id=""listlinks" target=""_scurl"" href=""http://www.toHjemmeside.dk/"">      <a id=""listlinks" target=""_scurl"" href=""http://www.treHjemmeside.com/sub/enSide.htm"">"

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" target=""_scrul"" href="")(http://www.|http://)(.*?)(\.)(.*?)(>)"
set matches = objRegExp.Execute(tekst)

for each match in matches
response.write match.value
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
11. marts 2004 - 11:18 #5
Udskriver stadig ingenting
Avatar billede Slettet bruger
11. marts 2004 - 12:49 #6
Helt sikker? Prøv at bruge "Vis kilde" i browseren.
Avatar billede axkris Nybegynder
11. marts 2004 - 12:58 #7
Jeg har kopieret koden direkte ind i en tom fil, som jeg har kørt og jeg får:

<br><br><br><br><br><br><br><br><br><br><br>
Avatar billede axkris Nybegynder
11. marts 2004 - 13:35 #8
Dvs. intet
Avatar billede ellebaek Nybegynder
11. marts 2004 - 14:05 #9
og du har rettet det med " begge steder ?
Avatar billede axkris Nybegynder
11. marts 2004 - 14:09 #10
Ja, som jeg skrev i starten af indlægget, så et det eksperten som har den bug, at den i nogle tilfælde fjerner den sidste af aprostroffer.

Jeg har derfor selv løbende indsat de manglede aprostroffer ved ""listlinks" <--- her

Finder script på din pc omtalte links? Virker det hos dig?
Avatar billede axkris Nybegynder
11. marts 2004 - 14:09 #11
(Hvis ikke jeg indsatte de manglede aprostroffer, så ville browseren jo bare brokke sig)
Avatar billede ellebaek Nybegynder
11. marts 2004 - 14:16 #12
Mystisk...

Det her virker...
Jeg kan ikke helt se forskellen på den anden, men jeg prøvede at kopiere linket ind og så overskrive det forrige pattern, så virkede det...

<%
dim myarr(10)
tekst = "<a id=""listlinks"" target=""_scurl"" href=""http://www.enHjemmeside.com/enSide.htm"">  <a id=""listlinks"" target=""_scurl"" href=""http://www.toHjemmeside.dk/"">      <a id=""listlinks"" target=""_scurl"" href=""http://www.treHjemmeside.com/sub/enSide.htm"">"

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"" target=""_scurl"" href="")(http://www.|http://)(.*?)(\.)(.*?)(>)"
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
11. marts 2004 - 14:35 #13
Nu virker det også hos mig - gad vide om min server hang.... nå, takker for hjælpen :D
Avatar billede ellebaek Nybegynder
11. marts 2004 - 14:38 #14
Det virkede heller ikke for mig første gang jeg testede scriptet. Men af en eller anden grund virkede ovenstående..

..Ellebæk!
Avatar billede axkris Nybegynder
11. marts 2004 - 15:32 #15
Optimerede lige scriptet til kun at være:

    dim arrTitler(50)
   
    Set objRegExp = New RegExp
    objRegExp.Global = True
    objRegExp.IgnoreCase = True

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

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

Og det virker :-D
Avatar billede ellebaek Nybegynder
11. marts 2004 - 18:38 #16
Ok...
Lækkert.

Det vil jeg huske til næste gang
c",)
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