webForumDet fria alternativet

Ladda ner TITLE taggen från en hemisida.

ASP

9 svar · 2 129 visningar · startad av angelica

Medlem sedan juli 2013280 inlägg
Frågan#1
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://hemsida.se/about/index.asp", False
objHTTP.Send
DIM strHTML
strHTML = objHTTP.responseBody
Set objHTTP = Nothing
'strHTML = Unicode(strHTML)

response.write strHTML

Detta i ett vanligt ASP dokument, fungerar givetvis inte, därav frågan. Vad är det för fel på Unicode!?

Det blir ju rena kinesiskan...!! Rent bildligt!

Medlem sedan juni 20019 519 inlägg
#2

responseBody innehåller väl hela dokumentet, du få väl hitta <title> med regexp inne i din strHTML? vad gör Unicode funktionen?

Medlem sedan juli 2013280 inlägg
#3

vad gör Unicode funktionen?

Ja, det var det jag undrade också...

Det blir tecken som på många vis är förvillande likt kinesiska tecken!

Skulle inte koden komma upp som klartext, så att jag med RegExp kan leta efter <title> -taggen?
Det var dit jag ville komma...

Medlem sedan juni 20019 519 inlägg
#4

angelica skrev:

Ja, det var det jag undrade också...

Det blir tecken som på många vis är förvillande likt kinesiska tecken!

Skulle inte koden komma upp som klartext, så att jag med RegExp kan leta efter <title> -taggen?
Det var dit jag ville komma...

Beror på vad det är för typ av innehåll du försöker hämta ifrån.

Medlem sedan jan. 2005953 inlägg
#5

Prova att använda responseText istället för responseBody

Medlem sedan juli 2013280 inlägg
#6
Function getTitle(strText)
	Set regEx = New RegExp
		regEx.Global = True
		regEx.IgnoreCase = true
		regEx.Pattern = "/<title[^>]*>([^<]+)<\/title>/im"

	getTitle = regEx.Execute(strText)
	Set regEx = Nothing
End Function

response.write getTitle(strHTML)

responseText fungerar. Tack!
Nåt är inte helt rätt med raderna ovan...?

Medlem sedan juni 20019 519 inlägg
#7

ja, regex i ASP skrivs inte så

regEx.Pattern = "<title[^>]*>([^<]+)<\/title>"

Sen getTitle skall väl ändå retunera första gruppen med värdet och inte regex kollektionen?

Medlem sedan juli 2013280 inlägg
#8

Hej!
Ursäkta mig för den långsamma konversationen! Jag försöker hitta svaren på egen hand, att inte fråga om allt.

Tack för pattern!

Jag hittar inte hur man gör för att returnera första värdet.
Ofta ska man byta ut olika saker med regular expressions. Men jag vill ju inte byta ut något!

Den här attans texten vill jag åt!

<TITLE>Den här attans texten vill jag åt!</TITLE>
:-)

Medlem sedan jan. 2005953 inlägg
#9
Function getTitle(strText)
	Set regEx = New RegExp
		regEx.Global = True
		regEx.IgnoreCase = true
		regEx.Pattern = "<title[^>]*>([^<]+)<\/title>"

	set matches = regEx.Execute(strText)
	getTitle = matches(0).Submatches(0)
	Set matches = Nothing
	Set regEx = Nothing
End Function
Medlem sedan juli 2013280 inlägg
#10

Kalas!
Tackar ödmjukast!
Det kan inte bli bättre! :-)

249 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)