replacestring =objRegExp.Replace(myString,strText)'här skall den ersätta alla med fet text
Frågan#1
Jag försöker att via regex markera mer än ett ord i min sökmotor.
Function boldText(myString,strReplace) ...
Function boldText(myString,strReplace)
dim nWord,kW,strText
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
if instr(strReplace," ") then'finns det mer än ett ord
nWord = split(strReplace," ")'splitta på mellanslag
kW =""(" 'denna funktionen lägger ihop sökorden t ex "(Access|databas|DSN)"
for i = 0 to ubound(nWord)
if i <> ubound(nWord) then
kW = kW & nWord(i) & "|"
elseif i = ubound(nWord) then
kW = kW & nWord(i) & ")""
end if
next
objRegExp.Pattern =kW
for i = 0 to ubound(nWord)
strText=strText & "<B>$" & i & "</B>"
next
boldText =objRegExp.Replace(myString,strText)'här skall den ersätta alla med fet text
boldText = replacestring
else
'det fanns bara ett sökord
objRegExp.Pattern = TRIM(strReplace)
replacestring = objRegExp.Replace(myString, "<B>" & strReplace & "</B>")
boldText = replacestring
end if
End Function
Skriver jag in ett ord, så fungerar det perfekt, men skriver jag t ex två ord, så händer ingenting.
Vad missar jag?
:q