/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
replace
Fra : Ukendt


Dato : 24-04-04 10:08

Hej NG

Jeg bruger nedestående til replace af et søgeord som vil bliver fremhævet
med rød tekst og gul baggrund. Problemet er, at hvis søgeordet et f.eks
"folketinget" bliver alle ord i rs("overskrift") der indholder
"folketinget" fremhævet som de skal, men hvis der i rs("overskrift") står
f.eks "bla bla Folketinget osv", bliver "Folketinget" ikke fremhævet.

min asp-kode:

Response.Write "<a href=""nyhed.asp?keyword=" & strKeyword & "&id=" &
rs("id") & """>" & replace(rs("overskrift") , strKeyword, "<b><font
color='#FF0000'><span style=""background-color: #FFFF00"">" & strKeyword &
"</span></font></b>") & "</a><br>"

Hvordan kan jeg få "Folketinget" fremhævet??

Mvh

Mette



 
 
Torben Brandt (24-04-2004)
Kommentar
Fra : Torben Brandt


Dato : 24-04-04 16:08

Mette skrev:
> Jeg bruger nedestående til replace af et søgeord som vil bliver fremhævet
> med rød tekst og gul baggrund. Problemet er, at hvis søgeordet et f.eks
> "folketinget" bliver alle ord i rs("overskrift") der indholder
> "folketinget" fremhævet som de skal, men hvis der i rs("overskrift") står
> f.eks "bla bla Folketinget osv", bliver "Folketinget" ikke fremhævet.
>
> min asp-kode:
>
> Response.Write "<a href=""nyhed.asp?keyword=" & strKeyword & "&id=" &
> rs("id") & """>" & replace(rs("overskrift") , strKeyword, "<b><font
> color='#FF0000'><span style=""background-color: #FFFF00"">" & strKeyword &
> "</span></font></b>") & "</a><br>"
>
> Hvordan kan jeg få "Folketinget" fremhævet??

Eksempel:
s1 = "abcABC"
s2 = Replace(s1, "a", "X", 1, -1, 1)
Så indeholder s2 "XbcXBC"

Læs mere på:
<URL:http://msdn.microsoft.com/library/en-us/script56/html/vsfctReplace.asp>

mvh Torben


Ukendt (24-04-2004)
Kommentar
Fra : Ukendt


Dato : 24-04-04 17:23

> Eksempel:
> s1 = "abcABC"
> s2 = Replace(s1, "a", "X", 1, -1, 1)
> Så indeholder s2 "XbcXBC"
>
> Læs mere på:
>
<URL:http://msdn.microsoft.com/library/en-us/script56/html/vsfctReplace.asp>
>
> mvh Torben


Hej NG

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??

M



Torben Brandt (24-04-2004)
Kommentar
Fra : Torben Brandt


Dato : 24-04-04 19:15

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


Ukendt (25-04-2004)
Kommentar
Fra : Ukendt


Dato : 25-04-04 09:16


">
> 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

Hej

det prøver jeg

M



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste