webForumDet fria alternativet

xmlhttp

9 svar · 466 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 105 inlägg
#1

hejsan vill hämta ut bara texten i horoskop sidan hur gör jag det? nu ser min kod ut såhär:

<% 
Function redigera(strText) 
strText = replace(strtext,"<CENTER>","</CENTER>")

redigera = strText
End Function

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET","http://zodiaken.net/cgi-bin/dagens.pl?id=5", False

objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

Set objRegExp = New regexp
objRegExp.Global = false
objRegExp.IgnoreCase = true
objRegExp.Pattern = "<CENTER>(.*)</CENTER>"
Set hittade = objRegExp.Execute(strHTML)

For each item in hittade

Response.Write redigera(item.value)
Response.Write strhtml

Next%>
jboy_87Medlem sedan aug. 20011 105 inlägg
solbulleMedlem sedan mars 20014 998 inlägg
#3

Kanske en lite onödigt avancerad lösning, men den fungerar.
I din kod resp. sidans källa kan jag inte se var du finner dina "CENTER" ?

För övrigt så förstår jag inte varför ovanstående kod sällan fungerar med ett regexp så där? Någon som vet?
Det har varit tre trådar med snarlika problem den senaste helgen?

<BODY bgcolor="#000000" TEXT=#BCB59B >
<img src="http://zodiaken.net/bild/zc1.jpg"  WIDTH=130 HEIGHT=130 border="0" alt="">
<%
'© solbulle 13:14 2003-03-17
Response.Charset="ISO8859-1"
Response.ContentType="text/html"

Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://zodiaken.net/cgi-bin/dagens.pl?id=5", False

objHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8"

objHTTP.Send
'strHTML=objHTTP.responseText

strHTML = BinToText(objHTTP.responseBody,35000)

Set objHTTP = Nothing

Set RegEx = New RegExp
RegEx.Global = True
RegEx.Pattern = "<TABLE WIDTH=80%"&"><TR><TD>"
strHTML= RegEx.Replace(strHTML,( chr(253) ))
RegEx.Pattern = "</TD></TR></TABLE>"
strHTML= RegEx.Replace(strHTML,( chr(254) ))
RegEx.Pattern = chr(253) & "[^" & chr(254) & "]*" & chr(254)
Set strOut = RegEx.execute(strHTML)

Function rensa(strHtml)
Set RegEx = New RegExp
RegEx.Global = True

RegEx.pattern = "(\n)"
strHtml = RegEx.replace(strHtml, " ")

Set RegEx = Nothing

strHtml = Replace(strHtml,chr(253)," ")
strHtml = Replace(strHtml,chr(254)," ")

set r = new regexp
r.ignorecase = true
r.global = true
r.pattern = "(\<a.*?\<\/a\>)"
rensa = trim(r.replace(strHtml,""))

End Function

function BinToText(varBinData, intDataSizeInBytes)
  const adFldLong = 128
  const adVarChar = 200
  set objRS = Server.CreateObject("ADODB.Recordset")
  
  objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
  objRS.Open
  
  objRS.AddNew
  objRS.Fields("txt").AppendChunk(varBinData)
  tmp = objRS("txt").Value
  objRS.Close
  BinToText = tmp
end function

If strOut.count > 0 then
	response.write "<p>" 
	response.write "Horoskop:<br> " & rensa(strOut.Item(0)) & "<br>" & vbcrlf
Else
	Response.write "Tyvärr inget horoskop."
End If
%>
jboy_87Medlem sedan aug. 20011 105 inlägg
#4

sjyst :e

solbulleMedlem sedan mars 20014 998 inlägg
#5

Version 1
Version 2

jboy_87Medlem sedan aug. 20011 105 inlägg
#6

jävligt snyggt asså!!

Jesper TMedlem sedan nov. 20017 058 inlägg
#7

Solbulle skrev:

I din kod resp. sidans källa kan jag inte se var du finner dina "CENTER" ?

;)

center.gif
solbulleMedlem sedan mars 20014 998 inlägg
#8

Åfan! :e

He he, jag såg dom faktist inte. Var så inriktad på att det bara var "texten" som skulle plockas ut. :r

jboy_87Medlem sedan aug. 20011 105 inlägg
#9

Jesper T> Coola pekfingrar!

ulsyMedlem sedan aug. 2002121 inlägg
#10

.

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb