webForumDet fria alternativet

PageTitle

23 svar · 489 visningar · startad av Mz

MzMedlem sedan aug. 2001139 inlägg
#1

Hejsan!

Finns det något enkelt sätt att med hjälp av ASP hämta dokumentets Title?
(Det vill säga det som finns mellan <TITLE> och </TITLE> )

Tack.

------------------
~ Mz ~

icaaqMedlem sedan okt. 20005 273 inlägg
#2

Jag måste fråga varför du vill det?

------------------
kolung.....det tål att tänkas på!

VideMedlem sedan dec. 19998 577 inlägg
#3

Först använder du fso för att hämta filens innehåll, sedan så använder du RegExp för att plocka ut just den strängen. :)

Om du vill hämta innehållet i en fil som inte ligger på servern så får du använda XMLHTTP. Sök i detta forum så hittar du mer om det...

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

MzMedlem sedan aug. 2001139 inlägg
#4

Iccaq:
Behöver det till ett administrationssystem... ;)

Vide:
Då vet jag, tackar! :)

------------------
~ Mz ~

MzMedlem sedan aug. 2001139 inlägg
#5

Jag kom inte så himla långt.. ;)

Kan någon hjälpa mig?
Koden så far:

<%

	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://www.webeye.nu/", False
	objHTTP.Send
	strHTML=objHTTP.responseText
	Set objHTTP = Nothing

	myString = StrHTML
	Set objRegExp = New regexp
	objRegExp.Global = False
	objRegExp.IgnoreCase = True
	objRegExp.Pattern = "<title>"

		Set myMatches = objRegExp.Execute(myString)
	
	???????
%>

Jag har lyckats hämta all kod och sånt, det är RegExp som jag har svårt med, hur hämtar jag värdet mellan <TITLE> och </TITLE> ?

------------------
~ Mz ~

SPiNMedlem sedan mars 20007 896 inlägg
#6
objRegExp.Pattern = "/(.*?)<title>(.*?)<\/title>(.*?)/is";

Så hade mitt pattern sett ut i PHP, mycket möjligt att det är samma i ASP. Är inte så haj på RegExp's med ASP :l

Inte i PHP heller för den delen, kan ju läggas till :)

Red.} Kan ju lägga till att det är andra ordningen som du ska hämta sedan :)

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

[Redigerat av SPiN den 26 nov 2001]

MzMedlem sedan aug. 2001139 inlägg
#7

Ok, jag har meckat lite med hjälp av Vides lektion, men jag får inte ut nått värde alls, inget felmeddelande heller.

<%

	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://www.webeye.nu/", False
	objHTTP.Send
	strHTML=objHTTP.responseText
	Set objHTTP = Nothing

	myString = StrHTML
	Set objRegExp = New regexp
	objRegExp.Global = False
	objRegExp.IgnoreCase = True
	objRegExp.Pattern = "/(.*?)<title>(.*?)<\/title>(.*?)/is"

		Set myMatches = objRegExp.Execute(myString)
	
	For each item in myMatches
		Response.Write "Hittade en träff vid position "& item.SecondIndex &", som är "& item.Length &" tecken lång. Värdet är <b>"& item.Value &"</b><br>"
	Next

%>

------------------
~ Mz ~

VideMedlem sedan dec. 19998 577 inlägg
#8

Nått sånthär kanske:

<%
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.webeye.nu/", False
objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing

myString = StrHTML
Set objRegExp = New regexp
objRegExp.Global = False
objRegExp.IgnoreCase = True
objRegExp.Pattern = "<title>(.*)</title>"

strString = objRegExp.Replace( myString, "$1")
%>

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

MzMedlem sedan aug. 2001139 inlägg
#9

Inte ett nått... ;)
Jag får inte ut nått värde, skärmen är bara.... vit.

------------------
~ Mz ~

@ndersMedlem sedan juni 200032 969 inlägg
#10

En liten fråga från en kille som bara tittade på Vides senaste kod;

Skriver du ut värdet av strString då?
Kör du koden som den är så skrivs ju ingenting ut.

Mvh,

------------------
All your base are belong to me.

MzMedlem sedan aug. 2001139 inlägg
#11

Hej @nders.

Hur tycker du att jag skall gå till väga?

------------------
~ Mz ~

@ndersMedlem sedan juni 200032 969 inlägg
#12

Lägg till en Response.write strString bara efter vides replace-rad.

Eller använd variabeln på det sätt du önskar, släng in i databas eller vad du nu vill. :)

Mvh,

------------------
All your base are belong to me.

MzMedlem sedan aug. 2001139 inlägg
#13

Jo jo det förstår jag :)
Men om jag gör det så visas hela källkoden från sidan, inte bara det som står inom <title> och </title>... :(

Kan det vara Pattern som skall justeras?

------------------
~ Mz ~

@ndersMedlem sedan juni 200032 969 inlägg
#14

I så fall så, ja, det verkar så.
Tyvärr kan jag inte ens stava till Regular Expressions, så jag lämnar tillbaka pucken till de andra gubbarna. :)

Mvh,

------------------
All your base are belong to me.

SPiNMedlem sedan mars 20007 896 inlägg
#15

Om du använde dig av mitt Pattern då, med två subqueries, före och efter <title>-taggarna, och skrev ut strString, fick du ut nåt då?

objRegExp.Pattern = "/(.*?)<title>(.*?)<\/title>(.*?)/is"

strString = objRegExp.Replace(myString, "$2")

Kanske?

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

MzMedlem sedan aug. 2001139 inlägg
#16

Ok, nog tyckte jag att stavningen var korrekt alltid.. ;)

Jag avvaktar väl på de andra "gubbarna", kanske dom kan knäcka det. :)

------------------
~ Mz ~

SPiNMedlem sedan mars 20007 896 inlägg
#17

Här ser du hur jag gjorde i PHP, och det borde ju inte vara någon egentlig skillnad. Hur escapear man /-tecken med ASP's RegExps? Kanske är något sånt som är problemet?

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

MzMedlem sedan aug. 2001139 inlägg
#18

SPIN:
Nja, det blev tyvärr ingen förbättring, samma resultat.
(hela källkoden skrivs ut.)

------------------
~ Mz ~

VideMedlem sedan dec. 19998 577 inlägg
#19

Hmm... det är lätt att hjälpa till när man tänker med lilltån, testa detta:

<%
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.webeye.nu/", False
objHTTP.Send
strHTML=objHTTP.responseText
Set objHTTP = Nothing
Set objRegExp = New regexp
objRegExp.Global = False
objRegExp.IgnoreCase = True
objRegExp.Pattern = "<title>(.*)</title>"

Set myMatches = objRegExp.Execute( strHTML )
For each item in myMatches
  Response.Write mid( strHTML, item.FirstIndex + 8, item.Length -4 )
Next
%>

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

spangoMedlem sedan juni 20008 205 inlägg
#20

Hur escapear man /-tecken med ASP's RegExps?

Behövs inte.

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)