Mette skrev:
>>Eksempel:
>>s1 = "abcABC"
>>s2 = Replace(s1, "a", "X", 1, -1, 1)
>>Så indeholder s2 "XbcXBC"
>>
> nu er det jo "bare" det lille problem jeg kender ikke indeholdet af
> søgeteksten. Man kan også tænke sig, at brugeren f.eks skrev "MicroSoft" og
> det i teksten fra databasen står "Microsoft". Søgefunktion vil finde
> "MicroSoft", men replace funktion vil ikke fremhæve "Microsoft" fordi
> brugeren har skreve "MicroSoft" som søgeord. Eller har jeg ikke forstået det
> svar rigtigt??
Det er det sidste 1-tal i argumenterne, der gør at Replace-funktionen
vil finde både "a" og "A" (som i mit eksempel). Derfor vil den lave en
fremhævning både af "a" og "A".
Dog vil fremhævningen altid vise det fundne søgeord på samme måde (dvs
den vil ikke vise store og små som de står i teksten, men som man skrev
det i søgeordet).
Hvis du vil gøre det "helt korrekt" tror jeg du kan bruge
Replace-funktionen i RegExp-objektet.
Eksempel:
tekst = rs("fundneTekst") ' <- fundne tekst
Set regex = New RegExp
regex.Pattern = "microsoft" ' <- søgeordet
regex.IgnoreCase = True
regex.Global = True
Response.Write regex.Replace(tekst, "<b>$1</b>")
[$1 betyder "den tekst, der svarer til søgeordet"]
Her skal man bare passe på hvis søgeordet indeholder nogle specialtegn,
som f.eks. punktum, stjerne, spørgsmål, backslash, ...
Læs mere her:
<URL:
http://msdn.microsoft.com/library/en-us/script56/html/vsmthreplace.asp>
mvh Torben