webForumDet fria alternativet

Problem med att fetmarkera mer än ett ord

ASP

2 svar · 341 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
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) & ")&quot;"
                  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

Medlem sedan mars 20015 287 inlägg
#2
replacestring =objRegExp.Replace(myString,strText)'här skall den ersätta alla med fet text
Medlem sedan mars 20011 880 inlägg
#3

Jo jag såg det, och ändrade det, men ingen större skillnad. Ibland kan den markera två ord, men oftast inte.

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)