Du kan jo søge på "<a href=" og "</a>" for at identificere links i din tekststreng.
Hvis du antager, der ikke er fejl i html-koden, og der ikke er links der er "kommenteret ud", så vil du have et link hver gang du støder på "</a>" - så søg efter "</a> og tæl hvor mange gange de forekommer.
Hej igen - nu har jeg lige lavet en kode der finder links - jeg gik igang inden du skrev ovenstående :o(
Her er den - smid 2 knapper og en ListBox på en form, Kopier nedenstående og ret stien til html-dokumentet:
Dim strHtml As String
Private Sub Command1_Click()
'Indlæser hele html-dokumentet til strHtml Open "c:\Test.html" For Input As #1 '<-- STIEN SKAL RETTES strHtml = Input(LOF(1), 1) Close #1 End Sub
Private Sub Command2_Click()
'Dimmer diverse variable Dim i As Integer Dim LinkArray() As String Dim AntalLinks As Integer Dim strHtml_Lcase As String Dim Start As Integer Dim nystart As Integer
'Opretter streng med kun små bogstaver, og finder forekomster af "</a>" 'Hvis man ikke bruger Lcase, er der forskel på </A> og </a>!!! strHtml_Lcase = LCase(strHtml) LinkArray() = Split(strHtml_Lcase, "</a>") AntalLinks = UBound(LinkArray)
'Redimmer LinkArray ReDim LinkArray(1 To AntalLinks)
'Looper gennem tekststrengen, finder links og gemmer dem i LinkArray For i = 1 To AntalLinks Start = InStr(nystart + 1, strHtml_Lcase, "<a href=") + 8 LinkArray(i) = Mid(strHtml, Start, InStr(Start, strHtml_Lcase, ">") - Start) nystart = Start
Next i
' Viser alle links List1.Clear For i = 1 To AntalLinks List1.AddItem LinkArray(i) Next i
Det virker fint nok Martin, jeg har bare store problemer med at få trukket tabel-rækker ud på samme måde, har du et bud på det ?, jeg smider gerne nogle flere points på bordet :)
Hvis du vil lave om på det er det lige pludseligt et - synes jeg - megaprojekt du har gang i. Du skal borsortere alle html-tags, og det synes jeg må være ret omfattende.
Så hvis ovenstående ikke er det du ønsker, ville jeg foreslå dig at finde en anden fremgangsmåde uden at bruge VB - eller bare gå i gang i VB, for det KAN jo lade sig gøre, men jeg vil tro det bliver meget omfattende at kode
Du kan jo lave en rutine, der arbejder på de enkelte delstrenge der står i dit array.
Der kan du søge efter tegn der står mellem et ">" og et "<" - det vil typisk være rent tekst, hvorimod tegn der står i mellem et "<" og et ">" typisk er karakterer der indgår i et HTML-tag. Men kik lidt i HTML-koden, og find de generelle regler der kan bruges til at bestemme og det er noget tekst du skal have med eller ej - helt og lykke ;o)
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.