---
title: "mission impossible xmlHTTP?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/147063-mission-impossible-xmlhttp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Gimbo"
published: "2006-05-18T16:22:53.000Z"
updated: "2006-05-20T15:21:38.000Z"
replies: 4
views: 650
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/147063-mission-impossible-xmlhttp"
---

# mission impossible xmlHTTP?

## #1 — Gimbo, 2006-05-18T16:22Z

Tja,

nu vill man kanske göra mission impossible men, kan man ta ut följande bildspel via xmlhttp?
<http://expressen.se/index.jsp?d=2095>

jag använder mig utav följande kod men får det inte att fungera, dvs jag kan varken få ut samtliga bildspel, och när jag gjort det så får jag inte popupen att fungera??

```
<%
Function kandisar(n)
	sFind = "<table cellpadding=""0"" cellspacing=""0"" border=""0"" width=""375"">"
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://expressen.se/index.jsp?d=2095", False
	objHTTP.Send
	str = objHTTP.responseText
	Set objHTTP = Nothing
	str = Right(str,Len(str)-InStr(str,sFind)+1-len(sFind))
	str = Left(str,InStr(str,"<hr size=""1"" noshade width=""375"" color=""#cccccc"">")-30)
	a=split(str,"<br>")
	for i = 0 to Ubound(a)
		if i = n then
			exit for
		end if
                a(i) = Replace(a(i),"<a href="".*"""," ")
                a(i) = Replace(a(i),"</a>"," ")

  	        myStr=myStr+a(i)+"<br>"
	next
	kandisar = myStr
End Function
%>
```

ngn som kan hjälpa?

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

## #2 — threshold, 2006-05-20T09:11Z

Sv: mission impossible xmlHTTP?

Hej,

till saker som dessa är Regular Expressions ganska bra att använda. Den här koden fungerar så som expressens sida ser ut just nu - men om de ändrar för mycket i html-koden så kommer förmodligen detta inte att fungera.

Observera också att detta endast är testat på den nuvarande sidan - det är nog en bra idé att vänta på att sidan uppdateras, och testa scriptet då igen för att se att det verkligen fungerar som det ska

```
<%

Function kandisar(n)
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://expressen.se/index.jsp?d=2095", False
	objHTTP.Send
	str = objHTTP.responseText
	Set objHTTP = Nothing
 ' Ta bort alla radbrytningar
 str = replace(str, vbcrlf, "")
 str = replace(str, vbcr, "")
 str = replace(str, vblf, "")
 
 Dim Re         ' RegExp-objektet
 Dim htmlBuffer ' Kommer att innehålla HTML-koden som ska returneras av funktionen

 ' Skapa ett reguljärt uttryck för att hämta informationen
 ' Vi använder två stycken här för att hämta bild, rubrik och länk
 reg = "(?:<a href=""Javascript:PopWin\('(\/ego\/[^']*)',[^\)]*?\);""><img src=""([^""]+)""[^>]+><\/a><\/td>"
 reg = reg &  "|<td valign=""top""><a href=""Javascript:PopWin\('(\/ego\/[^']*)',[^\)]*?\);"">([\s\S]*?)</span>([\s\S]*?)<br><\/span>([\s\S]*?)<br><\/a><\/span>)" '
     

 Set Re = New RegExp ' Skapa ett regexp objekt
 Re.Pattern = reg    ' Tilldela sökmönstret
 Re.Global = true
 Re.IgnoreCase = True
 htmlBuffer = ""
 i =0

 set m = Re.Execute(str) ' Sök!
 For Each objMatch in m ' För varje träff...

  If i Mod 2 =0 then   ' Hämta bildinfo (varannan träff innehåller bild+länk, varannan rubrik+länk)
   imgSrc = "http://www.expressen.se" & objMatch.Submatches(1)
  Else                 ' Hämta övrig info (rubrik och länk)
   strPopupURL = "http://www.expressen.se" & objMatch.Submatches(2)
   strHeader = objMatch.Submatches(4)
   
   '** Bygg ihop den HTML-kod som ska returneras
   htmlRow = "<table border=1>"
   htmlRow = htmlRow & "<tr><th>Rubrik:</th><td>" & strHeader & "</td></tr>"
   htmlRow = htmlRow & "<tr><th>Bild:</th><td><img src='" & imgSrc & "' /></td></tr>"
   htmlRow = htmlRow & "<tr><th>URL:</th><td><a href='" & strPopupURL & "' target=_blank>" & strPopupURL & "</a></td></tr>"
   htmlRow = htmlRow & "</table>"
   htmlRow = htmlRow & "<hr>"

   htmlBuffer = htmlBuffer & htmlRow
  End If
 i = i + 1
 If n > 0 and n = (i/2) Then Exit For ' Hämta bara så många vi vill ha
 Next
	kandisar = htmlBuffer
End Function

response.write kandisar(5) ' Hämta fem st.

%>
```

Mvh
David

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

## #3 — Gimbo, 2006-05-20T14:07Z

det var bland det GRYMMASTE jag sätt, skit stor tack mannen, men är det möjligt att placera 2 bilder bredvid varandra och sedan radbrytning, eller blir det för krångligt?

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

## #4 — threshold, 2006-05-20T15:06Z

Hej, kul att det uppskattades :)

Ja, du kan ju i princip presentera resultatet på precis vilket sätt du vill. Scriptet plockar ju ut de enskilda variablerna imgSrc, strPopupURL och strHeader - sedan är det bara att sy ihop lite HTML-kod av det (som sker i htmlRow-variabeln i scriptet). En enkelt variant av hur man skulle kunna visa på per rad skulle kunna vara så här:

```
' ------- 8<--- avklippt kod----8<---------
   '** Bygg ihop den HTML-kod som ska returneras
   htmlRow = "<a href=""" & strPopupURL & """ target=_blank><img src='" & imgSrc & "' /></a>"
   If (i+1)/2 Mod 2=0 Then htmlRow = htmlRow & "<br >"
   htmlBuffer = htmlBuffer & htmlRow
  End If
' ------- 8<--- avklippt kod----8<---------
```

Men det är ju bara att testa för att få fram det som du vill ha det.

/David

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

## #5 — Gimbo, 2006-05-20T15:21Z

man tackar! förresten fick du mitt privata mess?

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/147063-mission-impossible-xmlhttp
