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 ~
23 svar · 489 visningar · startad av Mz
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 ~
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
Iccaq:
Behöver det till ett administrationssystem... ;)
Vide:
Då vet jag, tackar! :)
------------------
~ Mz ~
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 ~
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]
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 ~
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
Inte ett nått... ;)
Jag får inte ut nått värde, skärmen är bara.... vit.
------------------
~ Mz ~
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.
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.
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 ~
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.
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 --
Ok, nog tyckte jag att stavningen var korrekt alltid.. ;)
Jag avvaktar väl på de andra "gubbarna", kanske dom kan knäcka det. :)
------------------
~ Mz ~
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 --
SPIN:
Nja, det blev tyvärr ingen förbättring, samma resultat.
(hela källkoden skrivs ut.)
------------------
~ Mz ~
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
Hur escapear man /-tecken med ASP's RegExps?
Behövs inte.
------------------
You can be a coward for a few minutes, or dead forever. /Rincewind