Public feed
#721552
' Deklaration av varibler
Dim metaKeywordsData
Dim metaKeywordsArray
Dim metaKeywords
Dim max
Dim n
' Hämta datan som ska användas för att extrahera keywords (T.ex. titlar, sidinnehåll m.m.)
metaKeywordsData = pageTitle & " " & pageContents
metaKeywords = ""
' Tar bort alla HTML-taggar
Set RegularExpressionObject = New RegExp
With RegularExpressionObject
.Pattern = "<(.|\n)+?>"
.IgnoreCase = True
.Global = True
End With
metaKeywordsData = RegularExpressionObject.Replace(metaKeywordsData, "")
Set RegularExpressionObject = nothing
' Ersätter alla mellanslag som är 2 eller fler i följd med ett ''(Det är förmodligen bättre att använda trim() för detta.)
Set RegularExpressionObject = New RegExp
With RegularExpressionObject
.Pattern = "\s{2,}"
.IgnoreCase = True
.Global = True
End With
metaKeywordsData = RegularExpressionObject.Replace(metaKeywordsData, " ")
Set RegularExpressionObject = nothing
' Ta bort radbrytningar
metaKeywordsData = Replace(metaKeywordsData, vbcrlf, "")
' Ta bort (HTML entity för mellanslag)
metaKeywordsData = Replace(metaKeywordsData, " ", " ")
' Ersätt kommatecken med ett mellanslag (underlättar för split() senare)
metaKeywordsData = Replace(metaKeywordsData, ", ", " ")
metaKeywordsData = Replace(metaKeywordsData, ",", " ")
' Ta bort punkter
metaKeywordsData = Replace(metaKeywordsData, ".", "")
' Sätt in 15 av orden i en array, eller samtliga ifall det finns mindre än 15
metaKeywordsArray = Split(metaKeywordsData, " ")
max = ubound(metaKeywordsArray) - lbound(metaKeywordsArray)
if(max) > 15 then
max = 15
end if
for n = lbound(metaKeywordsArray) to max
if(Len(metaKeywordsArray(n)) > 3) then
metaKeywords = metaKeywords & metaKeywordsArray(n) & ","
end if
next
' Konvertera nyckelordstexten till gemener
metaKeywords = LCase(metaKeywords)
' Ta bort det sista kommatecknet
metaKeywords = Left(metaKeywords, Len(metaKeywords)-1)