Avatar billede mekaniker Nybegynder
04. april 2001 - 16:13 Der er 12 kommentarer og
1 løsning

søgning på tekststreng i html-sider

Jeg skal kunne søge efter en tekststreng i html-filerne på min hjemmeside, og ende ud med et resultat hvor der vises, hvilke html-sider der indeholder søgeordet.

Det er et krav at jeg ikke selv skal indtaste nøgleord.

Er der nogle der har et forslag til, hvilket sprog dette skal laves i (asp, cgi eller java)
Avatar billede keysersoze Ekspert
04. april 2001 - 16:18 #1
det kan lettest laves i asp eller php hvis indholdet på siderne smides ind i en database..

men jeg _mener_ der findes et javascript til netop dette! prøv at søg på eksperten efter det...
Avatar billede mekaniker Nybegynder
04. april 2001 - 16:24 #3
Hej keysersoze
Tak for det hurtige svar.
Jeg skal nok lige fortælle at jeg ca. har 200 html-sider jeg skal kunne søge i, og hver af dem kan indeholde 900 forskellige \"ord\"
Så det går ikke at skulle indtaste 200x900 ord i en database
Avatar billede keysersoze Ekspert
04. april 2001 - 17:01 #4
mekaniker >> det er vel heller ikke nødvendigt - du kan vel bare kopiere teksten ind i et notatfelt, og foretage søgningen i dette notatfelt...
Avatar billede swasper Nybegynder
04. april 2001 - 17:06 #5
mekaniker >> Jeg har en sådan funktion der er lavet i et javascript. Her skal du blot indtaste navne på de filer scriptet skal søge i, f.eks. side1.html, side2.html osv. osv.

Avatar billede keysersoze Ekspert
04. april 2001 - 17:40 #6
som sagt - javascript... manglede bare et link :o/
Avatar billede michaelprehn Nybegynder
04. april 2001 - 20:24 #7
Jeg har et asp søgefunktion som leder således:<%
dim filer(21)
filer(1)= \"sideet.htm\"
filer(2)= \"sideto.html\"
if (Request.Form(\"soeg\")    <>  \"\")    then
    soeg = LCase(Request.Form(\"soeg\"))
  i = 1
  while i<21
    indhold = filer(i)
    aktuelfil = Server.MapPath(indhold)
    Set FilObj = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set Indholdsfil = MyFileObj.OpenTextFile(aktuelfil, 1, False)
    Indhold = LCase(Indholdsfil.ReadAll)
    if instr(Indhold,soeg) then
        %>
        <a href=\"<%=indhold%>\"><%=filer(i)%></a><br>
        <%
    end if
    Indholdsfil.Close
    i = i+1
  WEND
end if
%>


Avatar billede jakoba Nybegynder
04. april 2001 - 22:06 #8
For at leve den søgning skulle et evt javascript loade alle 200 htmlsider op i klientens maskine!! næppe en praktisk læsning.

Jeg ville nok gå efter en løsning i PHP eller ASP (michaelprehn\'s svar)

mvh JakobA
Avatar billede jakoba Nybegynder
04. april 2001 - 22:11 #9
Ingen grund til at gemme hele siden i databasen. sorter ordene i hver side og smid dubletterne væk. smid også ligegyldige ord som et, et, at, så, i, den osv osv væk. Så er der næppe mere end ca 100 til 200 ord der skal gemmes for hver side.
Avatar billede mekaniker Nybegynder
05. april 2001 - 00:07 #10
til michaelprehn
Det lyder jo meget godt, men jeg må indrømme at jeg ikke kender så meget til asp.

hvordan bruger jeg det rent praktisk. 
Avatar billede michaelprehn Nybegynder
05. april 2001 - 09:29 #11
Du skal have
1) en html side med en form, hvor søge-ordet indtastes.
2) formen skal kalde en asp side med kode som i mit første svar, blot skal du indtaste navne på alle 200 html sider i hvilke der skal søges
--- NB : det må kunne gøres med en wild card ?!? ---
3) asp siden skal nok pakke det lidt pænere ind, men min kode viser et link til de sider hor ordet optræder

Ulempen ved min metode er , at man kan søge på HTML kode så vel som det indhold brugeren ser

se mit eksempel: http://www.prehn.dk/search.asp

Hvis du har brug for mere forklaring så sig bare til
Avatar billede keysersoze Ekspert
16. april 2001 - 18:49 #12
??????????????
Avatar billede mekaniker Nybegynder
19. april 2001 - 17:22 #13
Jeg prøver at lave noget med asp, så tak for hjælpen michael.
Det kan være at jeg vender tilbage, hvis jeg støder på problemeer
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