Avatar billede scuttlebutt Nybegynder
21. august 2002 - 16:20 Der er 7 kommentarer og
2 løsninger

Fremhæv søgeord

Hej!

Hvordan kan jeg med ASP fremhæve et enkelt ord or vise de omkringliggende ord, sådan her:

"...men det kunne <B>skortstensfejeren</B> ikke blive mæt af. Han spiste..."

Ja, faktisk ligesom Google gør det. :)
Avatar billede scuttlebutt Nybegynder
21. august 2002 - 16:23 #1
or = og
Avatar billede burgermann Nybegynder
21. august 2002 - 19:27 #2
gør du bare med repace. Med søgestreng håber jeg du ved hvad jeg mener:
<%
søgestreng = replace(søgestreng, "skortstensfejere", "skortstensfejere">
%>
Avatar billede burgermann Nybegynder
21. august 2002 - 19:28 #3
Oops:
søgestreng = replace(søgestreng, "skortstensfejeren", "<B>skortstensfejeren</B>">
Avatar billede burgermann Nybegynder
21. august 2002 - 19:29 #4
det går helt galt
<%
søgestreng = replace(søgestreng, "skortstensfejeren", "<B>skortstensfejeren</B>")
%>
sådan, den skulle virke =)
Avatar billede scuttlebutt Nybegynder
21. august 2002 - 19:37 #5
Cool! :)

Men hvordan vælger jeg de to bidder af den omkringliggende tekst?
Avatar billede eagleeye Praktikant
21. august 2002 - 22:20 #6
hvad mener du?
Avatar billede scuttlebutt Nybegynder
21. august 2002 - 22:27 #7
I stedet for at vise hele indholdet, vil jeg bare vise søgeordet og den sammenhæng, det indgår i, så brugeren kan se om det er noget, han kan bruge.

Ligesom når du søger på Google. :)
Avatar billede eagleeye Praktikant
21. august 2002 - 22:44 #8
så skal man lave lidt kode som kan tjekke om søge ordet findes og så viser eksvis de 50 tegn før og efter:

searchString = "en lang streng som der skal søges i"
findThis = "skortstensfejeren"



startIndex = instr(1, searchString, findThis)
antalTegnFE = 50 'Antal tegn før og efter søgeord
if startIndex > 0 then
  cutFra = 1
  if startIndex > antalTegnFE then
    cutFra = startIndex - antalTegnFE
  end if
  cutTil = len(searchString)
  if len(searchString) > (startIndex + len(findThis) + antalTegnFE) then
    cutTil = startIndex + len(findThis) + antalTegnFE
  end if
  if cutFra > 1 then Response.write "..."
  Response.Write replace(Mid(searchString, cutFra, cutTil-cutFra), findThis, "<b>" & findThis & "</b>")
  if cutTil < len(searchString) then Response.write "..."
end if
Avatar billede scuttlebutt Nybegynder
21. august 2002 - 22:54 #9
Tak til Jer! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester