---
title: "Hämta information från länkar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/94110-hämta-information-från-länkar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "oJones"
published: "2004-01-06T19:38:26.000Z"
updated: "2004-01-07T10:42:22.000Z"
replies: 4
views: 604
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/94110-hämta-information-från-länkar"
---

# Hämta information från länkar

## #1 — oJones, 2004-01-06T19:38Z

Hej!

Jag har ett litet problem. Det är så att jag vill plocka ut länk samt beskrivning från en länksamling jag har.
Ur html-koden 
\<A HREF="http://www.webforum.nu"\>Besök webforum.nu\</A\> vill jag plocka ut
Url: <http://www.webforum.nu>
Beskrivning: Besök webforum.nu

Jag har försökt med Regular Expressions, men jag får inte till det.
Jag försökte till och med en variant av att leta upp första \<A med hjälp av Instr och därefter leta upp efterkommande \</A\> och på så vis ta ut hela \<A HREF="http://www.webforum.nu"\>Besök webforum.nu\</A\> med hjälp av mid. Hänger ni med? Problemet är när det kommer text varvat mellan urlarna typ.

Alltså, ur en html-kod (\<p\>Besök gärna \<a href="http://www.webforum.nu"\>webforum.nu\</a\>, eller varför inte kika in på \<a href="http://www.aftonbladet.se"\>aftonbladet.se\</a\>\</p\>)
Vill jag hämta ut urlarna och beskrivningarna till länkarna.

Någon som har en lösning eller åtminstone kan ge mig en knuff åt rätt håll?

Permalänk: https://www.webforum.nu/p/94110

## #2 — Sebbe, 2004-01-06T20:42Z

```
<%
Dim arrURL()
Dim arrDescription()
i = 0
strText = "Besök gärna <a href=""http://www.webforum.nu"">webforum.nu</a>, eller varför inte kika in på <a href=""http://www.aftonbladet.se"">aftonbladet.se</a>"

Set objRegExp = New RegExp

With objRegExp
  .Global = True
  .IgnoreCase = True
  .Pattern = "<a href=""[^>]+"">"

  For Each Match In .Execute(strText)
    ReDim Preserve arrURL(i)
    arrURL(i) = Mid(Match.Value, 10)
    arrURL(i) = Left(arrURL(i), Len(arrURL(i)) - 2)
    i = i + 1
  Next

  i = 0
  .Pattern = "<a href=""[^>]+"">[^<]+</a>"

  For Each Match In .Execute(strText)
    ReDim Preserve arrDescription(i)
    arrDescription(i) = Right(Match.Value, Len(Match.Value) - InStr(Match.Value, ">"))
    arrDescription(i) = Left(arrDescription(i), Len(arrDescription(i)) - 4)
    i = i + 1
  Next
End With

Set objRegExp = Nothing

For j = 0 To UBound(arrURL)
  Response.Write(arrURL(j) & " - " & arrDescription(j) & "<br>")
Next
%>
```

Permalänk: https://www.webforum.nu/p/1244773

## #3 — oJones, 2004-01-06T23:16Z

Du är duktig. Det tog mig hela dagen att inte ens komma i närheten =)

Koden i sig gör precis det jag efterfrågade, men det har tillstött lite problem.

Vissa av länkarna ser ut som följer:
strText = "\<A HREF=""http://www.google.com"" CLASS=""link""\>Länk till google\</A\>"

Eftersom CLASS=""link"" kan placeras både före och efter HREF= löste jag det genom att ändra ditt första pattern till:

```
.Pattern = "href=""[^>]+""."
```

Dessvärre gjorde det inte saken helt bra.

Ett annat problem jag upptäckt är länkar som har en bild:
strText = "\<A HREF=""http://www.google.com"" CLASS=""link""\>\<IMG SRC="bild.gif"\>\</A\>"

Jag lyckas verkligen inte med mina egna patterns =/

Permalänk: https://www.webforum.nu/p/1244839

## #4 — Sebbe, 2004-01-07T01:23Z

Så här då?

```
<%
Dim arrURL()
Dim arrDescription()
i = 0
strText = "Besök gärna <a href=""http://www.webforum.nu"" class=""blabla""><img src=""bla.gif""></a>, eller varför inte kika in på <a href=""http://www.aftonbladet.se"">aftonbladet.se</a>"
Response.Write("strText = " & Server.HTMLEncode(strText) & "<br><br>")

Set objRegExp = New RegExp

With objRegExp
  .Global = True
  .IgnoreCase = True
  .Pattern = "href=""[^""]*"""

  For Each Match In .Execute(strText)
    ReDim Preserve arrURL(i)
    arrURL(i) = Mid(Match.Value, 7)
    arrURL(i) = Left(arrURL(i), Len(arrURL(i)) - 1)
    i = i + 1
  Next

  i = 0
  .Pattern = "<a[^>]*>[\w|<img src="".*"">]*</a>"

  For Each Match In .Execute(strText)
    ReDim Preserve arrDescription(i)
    arrDescription(i) = Right(Match.Value, Len(Match.Value) - InStr(Match.Value, ">"))
    arrDescription(i) = Left(arrDescription(i), Len(arrDescription(i)) - 4)
    i = i + 1
  Next
End With

Set objRegExp = Nothing

For j = 0 To UBound(arrURL)
  Response.Write(arrURL(j) & " - " & arrDescription(j) & "<br>")
Next
%>
```

Permalänk: https://www.webforum.nu/p/1244858

## #5 — oJones, 2004-01-07T10:42Z

Jag accepterar det som rätt svar.. fast jag hittade en bugg som är jäkligt irriterande =)

\<link rel="icon" href="http://url.com/logo.png" type="img/png"\>

Den gör att scriptet "hittar fel" och brakar så småningom tillsammans.. testa att köra mot <https://www.susning.nu> eller www.aftonbladet.se.

Det klarar sig nog ändå.. 
Tack ska du ha sebbe! Underbar hjälp!

Permalänk: https://www.webforum.nu/p/1244950

---

Tråden på webben: https://www.webforum.nu/amne/asp/94110-hämta-information-från-länkar
