• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Links/urls uit html tekst halen

Status
Niet open voor verdere reacties.

jeroenb93

Gebruiker
Lid geworden
29 jul 2019
Berichten
9
Hoe kan ik links/urls uit de html text halen in cel A1. Zie screenshot

screenshot111.JPG

ik probeer nu met deze code

VBA code

Code:
Function LinksInText(ByVal InputText As String) As String
    Dim s() As String
    Dim i As Integer
    s = Split(InputText, Chr(34))
    For i = 1 To UBound(s) Step 2
        LinksInText = LinksInText & s(i) & ", "
    Next i
    LinksInText = Left(LinksInText, Len(LinksInText) - 2)
End Function

formule

Code:
=LinksInText(A2)


Alles wat dan tussen dubbele quotes, haalt hij eruit. Alleen soms ziet de a-tag er anders uit. Bijvoorbeeld:
<a href="url_for_output" name="example"></a> waardoor dus ook "example" eruit gehaald word. Zie voorbeeld hieronder

screenshot1112.JPG

hoe kan ik dit oplossen?
 

Bijlagen

  • screenshot111.JPG
    screenshot111.JPG
    142,2 KB · Weergaven: 38
Welkom hier,

Plaats een voorbeeldbestand en het antwoord is er een stuk sneller dan zonder bestand. Met plaatjes is het lastig testen.

Gr.

Sjon
 
Probeer dit eens:
Code:
Function LinksInText(ByVal InputText As String) As String
    urls = Split(InputText, Chr(34))
    For i = 0 To UBound(urls)
        If Left(urls(i), 4) = "http" Then Url = Url & ", " & urls(i)
    Next i
    LinksInText = Mid(Url, 3)
End Function
 
Laatst bewerkt:
niet alles begint met http

Hallo bedankt, dit werkt idd. alleen niet alle urls beginnen met http. In dit voorbeeld idd wel. Kan je niet controleren op alles wat tussen de dubbele quotes staan na href=Chr(34)?
 
Dan maak je er toch zoiets van ?
Code:
Function LinksInText(ByVal InputText As String) As String
    urls = Split(InputText, Chr(34))
    For i = 0 To UBound(urls)
        Select Case LCase(Left(urls(i), 3))
            Case "htt", "ftp": Url = Url & ", " & urls(i)
        End Select
    Next i
    LinksInText = Mid(Url, 3)
End Function

Of:
Code:
Function LinksInText(ByVal InputText As String) As String
    urls = Split(InputText, "href=")
    For i = 0 To UBound(urls)
        If Left(urls(i), 1) = Chr(34) Then Url = Url & ", " & Mid(urls(i), 2, InStr(2, urls(i), Chr(34)) - 2)
    Next i
    LinksInText = Mid(Url, 3)
End Function

Net wat je maar wil.
 
Laatst bewerkt:
Mooi :)
Dan mag je je vraag nog even als opgelost aanmerken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan