Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Parsa sökord?

Postades av 2004-06-23 21:49:05 - Peter Milered, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 511 personer

Behöver lite hjälp :)

Ska försöka få ut sökord från de vanligaste sökmotorerna (via Referer) Ex:
http://www.google.se/search?q=Referer+Google+parse+string&hl=sv&lr=&ie=UTF-8&start=10&sa=N
(+ de övriga vanligaste sökm)

men behöver en "dynamisk" funktion för detta, finns det någon färdig kod/dll/ artikel eller någon som har nåt asp script liggandes? :)


Svara

Sv: Parsa sökord?

Postades av 2004-06-24 01:12:33 - Thomas Vanhaniemi

Gör så att du plockar ut referer, kontrollerar om det är från en av sökmotorerna du har stöd för och sen plockar du ut sökinformationen...
Lättast plockar du ut informationen genom att använda Regular Expressions...

Till exempel har ju Google "q" som markör för vad de ska söka efter...
Enkelt att genom mönstret "q=[^&]+" att få ut hela strängen med sökord...
Efter konverterar man den URL kodade strängen till vanlig sträng, lättast genom funktionen Server.URLDecode(Text).

Jag kan hjälpa dig med en funktion om du vill!

Mvh,
Thomas


Svara

Sv: Parsa sökord?

Postades av 2004-06-24 07:38:28 - Peter Milered

Regular Expressions är inte min starka sida så jag skulle vara jätte tacksam för en sådan :)


Svara

Sv: Parsa sökord?

Postades av 2004-06-24 12:58:47 - Thomas Vanhaniemi

Hej!

Här har du kod som ska klara av det du vill...

<code>
Function SearchWords(Referer)
'Funktionen skapad av Thomas Vanhaniemi (thomas@eurocitynet.nu)
'Skapad 24/6 2004
'All användning tillåten

Dim RegExp
Dim Res
Dim Search
Set RegExp = New RegExp

RegExp.Global = False
RegExp.IgnoreCase = True

'Vilken sökmotor?
RegExp.Pattern = "^https?://(?:www\.)?([^/\.]+)\.[a-z]{2,4}/.*"
Search = RegExp.Replace(Referer, "$1")

'Om längden på träffen är noll har inte en giltlig adress skickats in
If Len(Search) = 0 Then
Set RegExp = Nothing
SearchWords = ""
Exit Function
End If

'Sätt vilket namn sökmotorerna har på sin sökvariabel
Dim Query
Select Case LCase(Search)
Case "google", "altavista"
Query = "q"
Case Else
Set RegExp = Nothing
SearchWords = ""
Exit Function
End Select

'Hämta ut sökorden
RegExp.Pattern = ".*?(?:\?|&)" & Query & "=([^&]*).*"
Res = RegExp.Replace(Referer, "$1")

'URLDecode för att ersätta alla specialkombinationer
Res = Replace(Res, "%C3%A5", "å")
Res = Replace(Res, "%C3%A4", "ä")
Res = Replace(Res, "%C3%B6", "ö")
Res = URLDecode(Res)

'Städa upp och retunera sökorden med mellanrum som avgränsare
Set RegExp = Nothing
SearchWords = Res
End Function

Function URLDecode(URL)
'Funktionen skapad av Thomas Vanhaniemi (thomas@eurocitynet.nu)
'Skapad 24/6 2004
'All användning tillåten

Dim RegExp
Dim Res
Set RegExp = New RegExp

Res = Replace(URL, "+", " ")

RegExp.Global = True
RegExp.IgnoreCase = True

'Hitta alla %## förekomster
RegExp.Pattern = "%[A-F0-9]{2}"

Dim Matches, Match
Set Matches = RegExp.Execute(Res)

'Om det finns förekomster av %## ersätt dem
If Matches.Count > 0 Then
Dim Shrink
Shrink = 0

'För varje förekomst
For Each Match In Matches
Res = Left(Res, Match.FirstIndex + CInt(Shrink)) & Replace(Res, Match.Value, Chr(CLng("&H" & Mid(Match.Value, 2, 2))), Match.FirstIndex + 1 + CInt(Shrink), 1)
Shrink = CInt(Shrink) - 2
Next
End If

'Städa upp och retunera svaret
Set Matches = Nothing
Set Match = Nothing
Set RegExp = Nothing
URLDecode = Res
End Function
</code>

Används genom SearchWords(Request.ServerVariables("HTTP_REFERER")).
I SearchWords funktionen finns det ett ställe där man själv måste ange vilket namn på variabeln sökmotorn använder.
Just nu finns google och altavista där, men du får själv lägga till fler...

Hör av dig om du får problem eller har något annat på hjärtat ;)

Mvh,
Thomas


Svara

Sv: Parsa sökord?

Postades av 2004-06-24 14:14:04 - Peter Milered

Enormt stort tack för hjälpen!! :)


Svara

Sv: Parsa sökord?

Postades av 2004-06-24 14:17:14 - Thomas Vanhaniemi

Varsågod, var så lite så =)

Mvh,
Thomas


Svara

Sv: Parsa sökord?

Postades av 2004-06-26 21:01:44 - Thomas Vanhaniemi

Hej!

Vill bara tillägga att om du är nöjd med svaret kan du antingen markera tråden som löst eller stängd...

Mvh,
Thomas


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 786
27 960
271 761
477
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies