Avatar billede webhjaelp Nybegynder
25. juni 2007 - 09:01 Der er 13 kommentarer og
1 løsning

klippe href fra kode

jeg vil gerne klippe alle links fra noget kildekode.
Dvs. alt som er mellem href= og >

Jeg har prøvet følgende:

testafmeta4= InStr(htmlkode,"href=")
        // MsgBox(testafmeta3)
   
       
        Do Until testafmeta4 <> 0
            Set Rx2hc = New RegExp
            Rx2hc.Global = True
            Rx2hc.IgnoreCase = True
            Rx2hc.Pattern = "[\s\S]*href=([\s\S]*?)>[\s\S]*"
            htmllink = htmllink & Rx2hc.replace(htmlkode,"$1")   
            // MsgBox(testafmeta4)
            testafmeta4= InStr(htmlkode,"href=")
            MsgBox(testafmeta4)
        Loop
Avatar billede webhjaelp Nybegynder
25. juni 2007 - 09:10 #1
Jeg har prøvet at gøre som beskrevet i:
http://www.eksperten.dk/spm/774739 men det virker ikke
Avatar billede cpufan Juniormester
25. juni 2007 - 09:45 #2
prøv at ændre til

Do Until testafmeta4 = 0
Avatar billede thesurfer Nybegynder
25. juni 2007 - 09:50 #3
Du kunne evt lave det med Split og Mid..

Eksempel:

a = split(htmlkode, "href=")
for i = 1 to ubound(a)
    h = a(i)
    if instr(h, """") > 0 then h = mid(h, instr(h, """") + 1)
    if instr(h, """") then h = left(h, instr(h, """") - 1)
    if instr(h, ">") then h = left(h, instr(h, ">") - 1)
    htmllink = htmllink & h & "<br>"
next


PS: Du kan ikke bruge "MsgBox" i ASP.
Avatar billede thesurfer Nybegynder
25. juni 2007 - 09:52 #4
Kodestumpen jeg skrev i 25/06-2007 09:50:35 tager højde for, om der står "" eller ej..

Dvs, den kan arbejde med:

<a href=http://www.server.dk>
<a href="http://www.server.dk">
Avatar billede webhjaelp Nybegynder
25. juni 2007 - 11:24 #5
Er der en nem måde og undgå ' på

jeg har brugt:
Set Rx2h = New RegExp
        Rx2h.Global = True
        Rx2h.IgnoreCase = True
        Rx2h.Pattern = "'"
    htmllink = Rx2h.replace(htmllink,"")
men det er ikke særligt pænt

og for at undgå <BR><br>
htmllink = Replace(htmllink, "<br><br>", "<br>")

er der en pænere måde
Avatar billede thesurfer Nybegynder
25. juni 2007 - 11:40 #6
Jeg ved ikke hvorfor, du vil erstatte ' med en tom streng, men man kan gøre det sådan her:

htmlkode = replace(htmlkode, "'", "")
a = split(htmlkode, "href=")
for i = 1 to ubound(a)
    h = a(i)
    if instr(h, """") > 0 then h = mid(h, instr(h, """") + 1)
    if instr(h, """") then h = left(h, instr(h, """") - 1)
    if instr(h, ">") then h = left(h, instr(h, ">") - 1)
    htmllink = htmllink & h & "<br>"
next

Eller:


a = split(htmlkode, "href=")
for i = 1 to ubound(a)
    h = a(i)
    h = replace(h, "'", "")
    if instr(h, """") > 0 then h = mid(h, instr(h, """") + 1)
    if instr(h, """") then h = left(h, instr(h, """") - 1)
    if instr(h, ">") then h = left(h, instr(h, ">") - 1)
    htmllink = htmllink & h & "<br>"
next
Avatar billede webhjaelp Nybegynder
25. juni 2007 - 13:01 #7
Tak for hjælpen, smid et svar....
Avatar billede thesurfer Nybegynder
25. juni 2007 - 13:31 #8
Svar :-)
Avatar billede webhjaelp Nybegynder
25. juni 2007 - 14:58 #9
Jeg har blot et lille en lille ting mere?
hvordan kan jeg slette alle gentagelser af space så der kun er et mellemrum?

jeg har prøvet:
Do Until testafmeta3 = 0
            Set Rx2hc = New RegExp
            Rx2hc.Global = True
            Rx2hc.IgnoreCase = True
            Rx2hc.Pattern = Chr(32) & Chr(32)
            htmlkode = Rx2hc.replace(htmlkode," ")   
            // MsgBox(testafmeta3)
            testafmeta3= InStr(htmlkode,"  ")
           
        Loop
Avatar billede webhjaelp Nybegynder
25. juni 2007 - 14:59 #10
Ups.

testafmeta3= InStr(htmlkode,"  ")
       
        Do Until testafmeta3 = 0
            Set Rx2hc = New RegExp
            Rx2hc.Global = True
            Rx2hc.IgnoreCase = True
            Rx2hc.Pattern = Chr(32) & Chr(32)
            htmlkode = Rx2hc.replace(htmlkode," ")   
            testafmeta3= InStr(htmlkode,"  ")
        Loop
Avatar billede thesurfer Nybegynder
25. juni 2007 - 15:27 #11
Du bruger ikke min kode?

Jeg kan desværre ikke RegExp som du bruger der, så jeg kender ikke de specielle tegn der skal bruges, for at vælge "flere mellemrum" fra..
Avatar billede webhjaelp Nybegynder
25. juni 2007 - 15:53 #12
Hvordan slette jeg alle gentagelser af space så der kun er et mellemrum eks.

"                  " bliver til " "

fjerne en vist antal til et stk.

Med dit kode?
Avatar billede thesurfer Nybegynder
25. juni 2007 - 16:10 #13
Du kan prøve at se, hvilken en der passer dig bedst, af LTrim, RTrim og Trim:

<%
dim s
s = "                  bliver til  x"
response.write "venstre-trim: " & LTrim(s) & "<br>" & vbCrLf
response.write "venstre-trim: " & RTrim(s) & "<br>" & vbCrLf
response.write "begge-trim: " & Trim(s) & "<br>" & vbCrLf

%>


Som du kan se, fjerne de alle mellemrum, der kommer lige efter hinanden.. dvs, de efterlader ikke 1x mellemrum..
Avatar billede webhjaelp Nybegynder
17. september 2007 - 09:43 #14
Tak for hjælpen...
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