Avatar billede psychomania Nybegynder
07. april 2003 - 15:01 Der er 21 kommentarer og
1 løsning

Strip navnet på et link

hej eksperter.

jeg skal have lavet et program som skal hente navnet fra nogle html-links på en html-side og smide dem i en listbox (list2).
et normalt html-link ser sådan ud:
<a href="link.html">navn</a>

jeg skal kun have hevet navnet ud i listboxen (list2).
hvordan gør jeg det?

hilsen tommy
Avatar billede hiks Nybegynder
07. april 2003 - 15:10 #1
1. Skal du have den til at søge htmlkoden på en lokal side igennem eller
2. Skal den søge i sider placeret på nettet?

/hiks
Avatar billede mortrr Praktikant
07. april 2003 - 15:23 #2
Du kan enten bruge en webbrowser-kontrol og kigge på getElementsByTagName("A") og elementernes innerText, eller søge på <A (og <a ), finde næste >, og derefter næste <
Avatar billede joern Nybegynder
07. april 2003 - 15:35 #3
Hej.

Dette spørsmål har været udførligt besvaret før på 'Eksperten', prøv at søge.

M.v.h. Jørn
Avatar billede psychomania Nybegynder
08. april 2003 - 08:46 #4
jeg har læst et html-dokument ind i en variabel og det er der den skal finde den. har i nogle ider?
Avatar billede renesvane Nybegynder
08. april 2003 - 13:21 #5
Hvis variablen kun indeholder links, kan du søge efter forekomster af "> . mellem det og < vil navnet stå.

Hvis du har hele sider med html, kan du søge efter </a>, det er i hvert fald altid slutningen af et link. Så skal du så søge tilbage til du finder >.

Jeg tror nok jeg ville vælge at lave en løkke der kører hele variablen igennem, karakter for karakter.

Sig til hvis du skal bruge noget kode, der kunne bruges
Avatar billede psychomania Nybegynder
09. april 2003 - 10:00 #6
renesvane >> det er meget godt at du siger det men jeg er rimelig ny i vb så jeg ved ikke helt hvordan jeg skal gøre det... og variablen indeholder desvære ikke kun links men jeg kan da få den til det... tror jeg
Avatar billede renesvane Nybegynder
09. april 2003 - 10:19 #7
Her kommer så lidt kode der kan gøre det.
Det er lavet i VB6, hvor html koden er taget fra en tekstboks på formen.
Det kan sagtens forenkles, men jeg har penslet det lidt ud, så du kan se hvad der foregår


Private Sub Command1_Click()
    Dim htmlKode As String
    Dim i As Integer
    Dim alleLinks() As String  'inedholder til sidst alle dine links
   
    Dim splittetKode As Variant
    Dim temparray As Variant
   
    htmlKode = Text1.Text  'blot en tekstboks på formen
   
    'Et array der indeholder htmlkode intil </a>
    'dvs. antallet af poster i arrayet = antallet af links
    splittetKode = Split(htmlKode, "</a>")
   
    'Den sidste linie indeholder ikke links
    ReDim Preserve splittetKode(UBound(splittetKode) - 1)
   
    For i = 0 To UBound(splittetKode)  'For hvert link
        'split hvert link op med > som delimiter.
        'Den sidste post vil være selve linket
        temparray = Split(splittetKode(i), ">")
        ReDim Preserve alleLinks(i)
        alleLinks(i) = temparray(UBound(temparray))
    Next i
End Sub
Avatar billede renesvane Nybegynder
09. april 2003 - 10:20 #8
btw. Koden tager en hel html side input, så alt irelevant information bliver sorteret fra
Avatar billede psychomania Nybegynder
09. april 2003 - 10:52 #9
hvordan får jeg den til at smide hver eneste link ind i en listbox i sted for en variabel?
Avatar billede renesvane Nybegynder
09. april 2003 - 10:54 #10
Brug nedenstående løkke i stedet

  For i = 0 To UBound(splittetKode)  'For hvert link
        'split hvert link op med > som delimiter.
        'Den sidste post vil være selve linket
        temparray = Split(splittetKode(i), ">")
        listboks1.AddItem(temparray(UBound(temparray)))
    Next i
Avatar billede psychomania Nybegynder
09. april 2003 - 11:29 #11
tak for hjælpen :) det var lige hvad jeg skulle bruge
Avatar billede psychomania Nybegynder
09. april 2003 - 11:32 #12
kan du hjælpe mig med at få dataen i samme listindex fra to forskellige listbox over i en variabel?
Avatar billede renesvane Nybegynder
09. april 2003 - 11:52 #13
Spørgsmål ikke helt forstået...
Mener du at du har 2 listbokse, hvor du f.eks. ønsker data fra begge listbokse over i variablen?

f.eks.  dinvariabel = list1.list(10) & list2.list(10)
Avatar billede psychomania Nybegynder
09. april 2003 - 12:43 #14
jeps men det skal være sådan at når jeg vælget en linie i listboxen så så skal den vælge samme listindex for dem begge
Avatar billede renesvane Nybegynder
09. april 2003 - 12:46 #15
OK, hvis du vil have det valgte index ud bruger du list1.listindex.
Avatar billede psychomania Nybegynder
09. april 2003 - 12:49 #16
i know... men jeg vil have at hvis det for eksempel står:

list1:
1. dig
2. mig
3. os

list2:
1. går
2. står
3. løber

når jeg så trykker på dig så skal variablen have dette indhold:
dig går

hvis du forstår hvad jeg mener
Avatar billede renesvane Nybegynder
09. april 2003 - 12:52 #17
Jamen, det gør du som jeg tidligere skrev

dinvariabel = list1.list(list1.listindex) & list2.list(list1.listindex)
Avatar billede psychomania Nybegynder
09. april 2003 - 12:53 #18
YES!!!! jeg fandt ud af det!!!
Avatar billede psychomania Nybegynder
09. april 2003 - 12:53 #19
se hvad jeg gjorde:


Private Sub List1_Click()
  Dim ListText As String
  b = List1.ListIndex
  List2.ListIndex = b
  'List1.ListIndex = List2.ListIndex
  ListText = List1.Text & "  " & List2.Text
  List3.AddItem ListText
End Sub
Avatar billede psychomania Nybegynder
09. april 2003 - 13:21 #20
jeg har lige ændret det lidt. nu bruger jeg din måde...
Avatar billede psychomania Nybegynder
09. april 2003 - 13:24 #21
nu ser det sådan ud...

Private Sub List1_Click()
  ListText = List1.List(List1.ListIndex) & List2.List(List1.ListIndex)
  List3.AddItem ListText
End Sub

ved du tilfældigvis hvordan du unselect'er alt i en listbox?
Avatar billede psychomania Nybegynder
09. april 2003 - 13:46 #22
det er ikke nødvendigt at unselecte mine listboxe allegevel... :) du skal have mange 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