/ 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
Søgefunktion på website
Fra : Carsten Christensen


Dato : 18-01-06 01:55

Hej, jeg har søgt i indlæggene efter emnet, men fandt ikke helt
det jeg søgte.

Jeg skal have lavet en søgefunktion på min hjemmeside, men i
stedet for at lave søgeord, vil jeg gerne søge i selve teksten på
siderne. Hvordan gør jeg lige det nemmest?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Erik Ginnerskov (18-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 18-01-06 02:36

Carsten Christensen wrote:

> Jeg skal have lavet en søgefunktion på min hjemmeside, men i
> stedet for at lave søgeord, vil jeg gerne søge i selve teksten på
> siderne. Hvordan gør jeg lige det nemmest?

http://hjemmesideskolen.dk/scripts/search.asp

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Carsten Christensen (18-01-2006)
Kommentar
Fra : Carsten Christensen


Dato : 18-01-06 11:47

Tak for linket Erik, men jeg havde forestillet mig, at jeg selv ville
lave søgefunktionen også. Men jeg kan selvfølgelig bruge Freefind
først, og så få den anden del til at virke.

Hvordan søger jeg i teksten i de andre html filer på min side?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Erik Ginnerskov (21-01-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 21-01-06 01:34

Carsten Christensen wrote:

> Hvordan søger jeg i teksten i de andre html filer på min side?

Når først FreeFind har indekseret dine sider (den følger alle links og
indekserer alle sider - undtagen hvad du specifikt angiver ikke skal
indekseres), vil en indtastet frase i søgeboksen fortælle, hvilken side
frasen findes på.

Det fungerer helt gnidningsløst.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://html-faq.dk/



Christian M. Nielsen (21-01-2006)
Kommentar
Fra : Christian M. Nielsen


Dato : 21-01-06 12:27


"Carsten Christensen" <carsten-fjern_dette-@e-ingenior.dk> skrev i en
meddelelse news:43cd91d8$0$15783$14726298@news.sunsite.dk...
> Hej, jeg har søgt i indlæggene efter emnet, men fandt ikke helt
> det jeg søgte.
>
> Jeg skal have lavet en søgefunktion på min hjemmeside, men i
> stedet for at lave søgeord, vil jeg gerne søge i selve teksten på
> siderne. Hvordan gør jeg lige det nemmest?

Se også http://www.shortlink.dk/85841ac8

<%Dim strSoegeOrd, arrSoegeOrd, strSQL, iCount, strTempSQL
strSoegeOrd = Request.form("strFormSeek")
'<!-- henter dine søgeord i en fra et formfelt -->
strSoegeOrd = Replace(strSoegeOrd, "+", " ")
'<!-- erstatter + med mellemrum hvis der er
'søgt på flere ord adskilt af +
'indsæt selv flere efter behov -->

arrSoegeOrd = Split(strSoegeOrd," ")
' <!-- splitter ordene op ved mellemrum,
' så der søges på hvert enkelt -->

strTempSQL = "Select * FROM tblArticle WHERE ((ArticleData LIKE '%" &
arrSoegeOrd(0) &"%' OR ArticleHeader LIKE '%" & arrSoegeOrd(0) &"%' OR
ArticleSeekword LIKE '%" & arrSoegeOrd(0) &"%')"

'<!-- søger i tre felter i databasen, udbyg efter behov
'skal stå på een linie -->

For iCount = 1 To UBound(arrSoegeOrd)
strTempSQL = strTempSQL & " OR (ArticleData LIKE '%" & arrSoegeOrd(iCount)
&"%' OR ArticleHeader LIKE '%" & arrSoegeOrd(iCount) &"%' OR ArticleSeekword
LIKE '%" & arrSoegeOrd(0) &"%')"
Next
strTempSQL = strTempSQL & ") ORDER BY ArticleHeader"

'<!-- Looper igennem alle søgeord
SQLString = strTempSQL
%>

Hvis du vil have farvemarkeret søgeordene i teksten der fremkommer kan et
gøres således,
| indsættes mellem ordene til farve markerings funktionen

<%

Dim strSoegeOrd, arrSoegeOrd, strSQL, iCount, strTempSQL
strSoegeOrd = Request.form("strFormSeek")
strSoegeOrd = Replace(strSoegeOrd, "+", " ")
strSoegeOrd = Replace(strSoegeOrd, """", "")

arrSoegeOrd = Split(strSoegeOrd," ")

strSQLSeekWord = SQLString()
SET oRsSeekWord = OpenRecordset(strSQLSeekWord)
'åben recordset på din egen måde

Dim varSeekwords, intLength

For iCount = 0 To UBound(arrSoegeOrd)
varSeekwords = varSeekwords &"|"& arrSoegeOrd(iCount)
Next

IF Right(varSeekwords, 1) = "|" then
intLength = cint(Len(varSeekwords)-1)
varSeekwords = Left(varSeekwords, intLength)
end if
'fjerner | hvis den står som nummer 1
%>

<table width="100%">

<% IF oRsSeekWord.EOF or oRsSeekWord.bof then response.write
"<tr><td></td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>No</strong> articles
with: &nbsp;<strong>" & strSeekWord &" </strong>was found</td></tr>"

'<--! viser hvis der ikke blev fundet noget
'ellers startes loop, og søgeord sendes med til
'en side der viser søgeordene -->

DO WHILE NOT oRsSeekWord.EOF%>
<tr><td width="10"></td><td><a
href="showseekword.asp?articleid=<%=oRsSeekWord("ArticleID")%>&seekword=<%=varSeekwords%>"><%=oRsSeekWord("ArticleHeader")%></a></td></tr>

<% oRsSeekWord.movenext
loop
set oRsSeekWord = Nothing%>
</table>

<!-- SIDE DER VISER SØGEORDENE (showseekword.asp) -->

<%

'<--! Start med at hente den side der skal vises-->

Dim S, aWords, strSeek, strSeekWord

strSeekWord= request.querystring("seekword")
strSeek = Replace(strSeekWord, """", "|")
strSeek = Replace(strSeek, "+", "|")
strSeek = Replace(strSeek, "|+", "|")
strSeek = Replace(strSeek, "+|", "|")
if Left(strSeek, 1) = "|" then
strSeek = Mid(strSeek, 2)
end if

S = strSeek
aWords = oRs("ArticleData")

Function markWord(S, aWords)
' Extract HTML Tags
Dim re, vstrippedHTML, i, MatchArr, vTemp
Set re = New RegExp

re.Pattern = "<[^<>]*>"
re.IgnoreCase = True
re.Global = True

' Replace HTML tags
Set MatchArr = re.Execute(S)
vStrippedHTML = re.replace(S,"$!$")

' alert(vStrippedHTML);

' Replace search words
Dim re2
set re2 = New RegExp

re2.Pattern = "(" + aWords + ")"
re2.IgnoreCase = True
re2.Global = True

vTemp = re2.replace(vStrippedHTML,"<strong>$1</strong>")
'<!-- her er det bestemt at ordene bliver markeret med fed-->

' Reinsert HTML
For i = 0 To MatchArr.Count -1
vTemp = Replace(vtemp, "$!$", MatchArr(i),1,1)
Next

markWord = vTemp

End function

Dim ArticleReplace
ArticleReplace = markWord(oRsShowPic("ArticleData"), strSeek)

'<!-- Kalder funktionen der farvekoder dinesøgeord i den valgte tekst -->
%>

<%=ArticleReplace%>

<!--udskriver teksten med søgeordene markeret-->



--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk
The scary thing about looking for truth is that you might find it.



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

Månedens bedste
Årets bedste
Sidste års bedste