Avatar billede karsten_larsen Praktikant
13. januar 2003 - 23:30 Der er 40 kommentarer og
1 løsning

Øresund, æbler og Århus i søgning.

Nu har jeg prøvet er hav af gange og det vil bare ikke.

Jeg fandt et søgescript og et replace script på www.activeserverpages.dk.

Mit problem er, at jeg ikke kan få søge scriptet til at finde ord som æbler, århus, øresund, ej heller æ,ø,å for sig selv.

Derfor har jeg brugt en funktion legalize for at omdøbe å til å etc., men det giver blot flere problemer.

Hvordan skal jeg bruge Funktionen legalize ind i følgende, hvor det er sarySearchWord som tager søgeordret videre.


strSearchWords = Trim(Request.QueryString("search"))


If blnEnglishLanguage = True Then
    strSearchWords = Server.HTMLEncode(strSearchWords)

Else
    'Just replace the script tag <> with HTML encoded &lt; and &gt;
    strSearchWords = Replace(strSearchWords, "<", "&lt;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, ">", "&gt;", 1, -1, 1)
End If

sarySearchWord = Split(Trim(strSearchWords), " ")


Filerne som det drejer sig om er herunder. Jeg giver 150 point, da jeg meget gerne vil have det til at virke eller hjælp til at komme videre.

Det sidste jeg har prøvet er med legalt.asp som inc fil, hvorefter sTemp i filen giver problemer. Jeg troede at svaret var:

strSearchWords = Request.QueryString("search")

Call legalize(strSearchWords)

sarySearchWord = Split(Trim(strSearchWords), " ")

men det virker heller ikke!

:-) karsten_larsen

PS: måske skulle man have 5 point bare for at læse dette igennem.



legalt.asp
<%
' legalize.asp: Legalize
' Version 1.0
' Copyright (C) 1998 John Watson
'
' E-mail: john@watson-net.com
'
' Get the latest version and full documentation
' at http://www.watson-net.com/
'
' PURPOSE
'
' Converts (C), (R), (TM), (SM) into HTML markup for nicer display.
'
' INPUTS
'
' s: String to legalize
'
' RETURNS
'
' Revised input string
'
' LICENSE
'
' This library is free software; you can redistribute it and/or
' modify it under the terms of the GNU Library General Public
' License as published by the Free Software Foundation; either
' version 2 of the License, or (at your option) any later version.
'
' This library is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
' Library General Public License for more details.
'
' You should have received a copy of the GNU Library General Public
' License along with this library; if not, write to the
' Free Software Foundation, Inc., 59 Temple Place - Suite 330,
' Boston, MA  02111-1307, USA.

' legalize() converts (R), (TM), (SM), (r), (tm), and (sm) into
' HTML markup for nicer display.

function legalize(s)
    dim sTemp
   
    sTemp = s
   
    sTemp = replace(sTemp, "(sm)", "<SUP><SMALL>SM</SMALL></SUP>")
    sTemp = replace(sTemp, "(SM)", "<SUP><SMALL>SM</SMALL></SUP>")
    sTemp = replace(sTemp, "(tm)", "&#153;")
    sTemp = replace(sTemp, "(TM)", "&#153;")
    sTemp = replace(sTemp, "(r)", "&reg;")
    sTemp = replace(sTemp, "(R)", "&reg;")
    sTemp = replace(sTemp, "(c)", "&copy;")
    sTemp = replace(sTemp, "(C)", "&copy;")
   
    legalize = sTemp
end function
%>

site_search.asp
<%

                'Script udviklet af Much mr@asapweb.dk
                'Respekter venligst (c) og giv mig lidt kredit for mit arbejde.
               
               
               
               
%>

<% Option Explicit %>
<%

Response.Buffer = True

Dim fsoObject           
Dim fldObject               
Dim sarySearchWord       
Dim strSearchWords       
Dim blnIsRoot           
Dim strFileURL   
Dim strServerPath       
Dim intNumFilesShown       
Dim intTotalFilesSearched   
Dim intTotalFilesFound       
Dim intFileNum       
Dim intPageLinkLoopCounter   
Dim sarySearchResults(1000,2)
Dim intDisplayResultsLoopCounter
Dim intResultsArrayPosition   
Dim blnSearchResultsFound   
Dim strFilesTypesToSearch   
Dim strBarredFolders       
Dim strBarredFiles
Dim blnEnglishLanguage       


Const intRecordsPerPage = 10 'change this to the number of results to show on each page

strFilesTypesToSearch = "htm,html,asp,shtml"

strBarredFolders = "cgi_bin,_bin" 'cgi_bin and _bin have been put in here as examples, but you can put any folders in here

strBarredFiles = "adminstation.htm,no_allowed.asp,admin.asp" 'adminstration.htm and not_allowed.asp have been put in as an examples

blnEnglishLanguage = True 'True = HTML Encode best for English sites \ False = no Emcoding best for non English sites

intTotalFilesSearched = 0

%>
<HTML>
<HEAD>
<TITLE>ASAPweb.dk søgemaskine</TITLE>
<META name="Description" content="I denne streng skriver du beskrivelsen af siden...">
<META name="KeyWords" content="søgemaskine">
<STYLE type="text/css">
<!--
a:active {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: none}
a:hover {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #666666; text-decoration: underline}
a:link {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: underline}
a:visited {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: underline}
.box {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: none; background-image:  url(file:///C|/Dokumenter/Mine%20Web-steder/ny%20side/grafik/graa_bg.gif); border-color: #000000 #333333 #333333 #000000; border-style: solid; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin}
body {  font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; color: #000000}
-->
</STYLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<P><FONT size="2">For at man kan s&oslash;ge skal man jo have nogle sider med
  s&oslash;ge ord....<BR>
  S&aring; derfor er der 2 side hvor der st&aring; forskelige ord.<BR>
  asp, gratis, webdesign, webmaster. Pr&oslash;v de forskelig funktioner. da dette
  ikke st&aring;r p&aring; alle sider.<BR>
  </FONT><FONT size="2">Og pr&oslash;v at skriv noget volapyk eller noget der
  ikke st&aring;r her. <BR>
  Pr&oslash;v alle s&oslash;ge ord for der er sm&aring; hints p&aring; siderne.<BR>
  </FONT> </P>
<FORM method="get" name="frmSiteSearch" action="site_search.asp">
  <TABLE cellpadding="0" cellspacing="0" width="90%" align="center">
    <TR>
      <TD class="arial" height="4" width="571"> <B><FONT size="2">Fandt du ikke
        det du skulle bruge ?</FONT></B></TD>
    </TR>
    <TR>
      <TD class="normal" height="2" width="571">
        <INPUT type="TEXT" name="search" maxlength="50" size="36" value="<% =Request.QueryString("search") %>" class="box">
        <INPUT type="submit" value="S&oslash;g &gt;&gt;" name="submit" class="box">
      </TD>
    </TR>
    <TR>
      <TD class="normal" height="34" width="571" valign="top"> <FONT size="2">Specifik
        s&oslash;gning </FONT><FONT size="2"> :
        <INPUT type="radio" name="mode" value="allwords" checked>
        Alle ord
        <INPUT type="radio" name="mode" value="anywords">
        Nogle af ordene
        <INPUT type="radio" name="mode" value="phrase">
        S&aelig;tningen </FONT></TD>
    </TR>
  </TABLE>
</FORM>


<%


strSearchWords = Trim(Request.QueryString("search"))


If blnEnglishLanguage = True Then
    strSearchWords = Server.HTMLEncode(strSearchWords)

Else
    'Just replace the script tag <> with HTML encoded &lt; and &gt;
    strSearchWords = Replace(strSearchWords, "<", "&lt;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, ">", "&gt;", 1, -1, 1)
End If

sarySearchWord = Split(Trim(strSearchWords), " ")



intFileNum = CInt(Request.QueryString("FileNumPosition"))

intNumFilesShown = intFileNum

Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")

If NOT strSearchWords = "" Then

    Set fldObject = fsoObject.GetFolder(Server.MapPath("./"))
   
    strServerPath = fldObject.Path & "\"
   
    blnIsRoot = True
       
    Call SearchFile(fldObject)           
   
    Set fsoObject = Nothing
    Set fldObject = Nothing   
   
   
    Call SortResultsByNumMatches(sarySearchResults, intTotalFilesFound)
       
   
    Response.Write vbCrLf & "    <table width=""98%"" border=""0"" cellspacing=""1"" cellpadding=""1"" align=""center"" bgcolor=""#EBEBEB"">"
    Response.Write vbCrLf & "       <tr>"
   
    If blnSearchResultsFound = False Then
        Response.Write vbCrLf & "         <td><font size=2>&nbsp;Søgte på sider efter <b>" & strSearchWords & "</b>. &nbsp;&nbsp;&nbsp;Desvære der var ingen resultater.</font></td>" 
   
    Else   
        Response.Write vbCrLf & "         <td><font size=2>&nbsp;Søgte på sider efter <b>" & strSearchWords & "</b>. &nbsp;&nbsp;&nbsp;Viser resultater " & intFileNum + 1 & " - " & intNumFilesShown & " af " & intTotalFilesFound & ".</font></td>"       
    End If
   
    Response.Write vbCrLf & "      </tr>"
    Response.Write vbCrLf & "    </table>"
       
   
    Response.Write vbCrLf & "    <table width=""95%"" border=""0"" cellspacing=""1"" cellpadding=""1"" align=""center"">"
    Response.Write vbCrLf & "    <tr>"
    Response.Write vbCrLf & "      <td>" 
   
    If blnSearchResultsFound = False Then
   
        Response.Write vbCrLf & "      <br>"
        Response.Write vbCrLf & "      <font size=2>Dit søgeord var - <b>" & strSearchWords & "</b> - Der var desvære ingen resultat/resultater af søgningen.</font>"
          Response.Write vbCrLf & "      <br><br>"
          Response.Write vbCrLf & "      <font size=2><b>Muligheder:</b></font>"
          Response.Write vbCrLf & "      <br>"
          Response.Write vbCrLf & "      <font size=2><ul><li>Har du stavet det rigtigt?<li>Prøv uden special tegn.<li>Prøv med et andet keyword.<li>Prøv med fære keywords.</ul></font>"
   
    Else
       
        For intDisplayResultsLoopCounter = (intFileNum + 1) to intNumFilesShown
       
            Response.Write vbCrLf & "        <br>"
            Response.Write vbCrLf & "        " & sarySearchResults(intDisplayResultsLoopCounter,1)
            Response.Write vbCrLf & "        <br>"
        Next
    End If
   
    Response.Write vbCrLf & "        </td>"
    Response.Write vbCrLf & "      </tr>"
    Response.Write vbCrLf & "    </table>"

End If


If intTotalFilesFound > intRecordsPerPage then

    Response.Write vbCrLf & "    <br>"
    Response.Write vbCrLf & "    <table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0"" align=""center"">"
    Response.Write vbCrLf & "       <tr>"
    Response.Write vbCrLf & "         <td>"
    Response.Write vbCrLf & "        <table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"">"
    Response.Write vbCrLf & "          <tr>"
    Response.Write vbCrLf & "            <td width=""50%"" align=""center"">"
   
    Response.Write vbCrLf & "        <font size=2>Antal sider med valgte søgning:&nbsp;&nbsp;</font>"
   
       
    If intNumFilesShown > intRecordsPerPage Then
        Response.Write vbCrLf & "        <font size=2><a href=""site_search.asp?FileNumPosition=" &  intFileNum - intRecordsPerPage  & "&search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & """ target=""_self"">&lt;&lt;&nbsp;Sidste</a></font> "             
    End If       
   
   
    If intTotalFilesFound > intRecordsPerPage Then
       
        For intPageLinkLoopCounter = 1 to CInt((intTotalFilesFound / intRecordsPerPage) + 0.5)
           
            If intFileNum = (intPageLinkLoopCounter * intRecordsPerPage) - intRecordsPerPage Then
                Response.Write vbCrLf & "            <font size=2 color=#CC3300><b>" & intPageLinkLoopCounter & "</b></font>"
            Else
           
                Response.Write vbCrLf & "            &nbsp;<font size=2><a href=""site_search.asp?FileNumPosition=" &  (intPageLinkLoopCounter * intRecordsPerPage) - intRecordsPerPage & "&search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & """ target=""_self"">" & intPageLinkLoopCounter & "</a></font>&nbsp; "           
            End If
        Next
    End If
   
   
    If intTotalFilesFound > intNumFilesShown then     
        Response.Write vbCrLf & "        &nbsp;<font size=2><a href=""site_search.asp?FileNumPosition=" &  intNumFilesShown  & "&search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & """ target=""_self"">Næste&nbsp;&gt;&gt;</a></font>"         
    End If         
   
   
    Response.Write vbCrLf & "            </td>"         
    Response.Write vbCrLf & "          </tr>"
    Response.Write vbCrLf & "        </table>"       
    Response.Write vbCrLf & "        </td>"
    Response.Write vbCrLf & "      </tr>"
    Response.Write vbCrLf & "    </table>"
   

End If

%>
<BR>
<DIV align="center"> 
  <TABLE width="98%" border="0" cellspacing="1" cellpadding="1" align="center">
    <TR>
       
      <TD width="47%" height="18">&nbsp;</TD>
        <TD width="53%" align="right" height="18"><BR>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <%Response.Write("<font size=1><b>(c)</b>2002 ASAPweb.dk</font>")%>
      </TD>
      </TR>
    </TABLE>

    <BR>
</DIV>
<FONT size="2">Den simple m&aring;de hvis nu man har s&oslash;ge funktion itegreret
i sin grafik....</FONT> <A href="simpel_site_search.asp"> GO</A><BR>
</BODY>
</HTML>
<%



Public Sub SearchFile(fldObject)

    Dim objRegExp               
    Dim objMatches   
    Dim filObject
    Dim tsObject               
    Dim subFldObject           
    Dim strFileContents       
    Dim strPageTitle           
    Dim strPageDescription       
    Dim strPageKeywords           
    Dim intSearchLoopCounter       
    Dim intNumMatches           
    Dim blnSearchFound               
   
    On Error Resume Next
   
    Err.Number = 0
                 
    Set objRegExp = New RegExp
                 
    If Err.Number <> 0 Then
        Response.Write("<br>FEJL! Serveren understøtter ikke extension<br>")
                   
        Err.Number = 0
    End If
       
    For Each filObject in fldObject.Files
       
               
        If InStr(1, strFilesTypesToSearch, fsoObject.GetExtensionName(filObject.Name), vbTextCompare) > 0 Then
   
              If NOT InStr(1, strBarredFiles, filObject.Name, vbTextCompare) > 0 Then             
             
              blnSearchFound = False
                 
                  intNumMatches = 0             
                 
                      objRegExp.Global = True
                 
                  objRegExp.IgnoreCase = True
                 
                                   
             
                  Set tsObject = filObject.OpenAsTextStream
           
                strFileContents = tsObject.ReadAll       
       
                strPageTitle = GetFileMetaTag("<title>", "</title>", strFileContents)
                       
                strPageDescription = GetFileMetaTag("<meta name=""description"" content=""", """>", strFileContents)
               
                strPageKeywords = GetFileMetaTag("<meta name=""keywords"" content=""", """>", strFileContents)
                           
               
               
                objRegExp.Pattern = "<[^>]*>"
               
                strFileContents = objRegExp.Replace(strFileContents,"")
                   
                strFileContents = strFileContents & " " & strPageTitle & " " & strPageDescription & " " & strPageKeywords
               
           
                               
                If Request.QueryString("mode") = "phrase" Then
                   
                    objRegExp.Pattern = "\b" & strSearchWords & "\b"
                   
                    Set objMatches = objRegExp.Execute(strFileContents)
                   
                    If objMatches.Count > 0 Then
                   
                        intNumMatches = objMatches.Count
                   
                        blnSearchFound = True
                    End If
               
               
                Else
                           
                    If Request.QueryString("mode") = "allwords" then blnSearchFound = True
                   
                   
                    For intSearchLoopCounter = 0 to UBound(sarySearchWord)
                   
                        objRegExp.Pattern = "\b" & sarySearchWord(intSearchLoopCounter) & "\b"
                       
                        Set objMatches = objRegExp.Execute(strFileContents)
                               
                            If objMatches.Count > 0 Then
                           
                                    intNumMatches = intNumMatches + objMatches.Count
                       
                                If Request.QueryString("mode") = "anywords" then blnSearchFound = True
                               
                            Else
                                If Request.QueryString("mode") = "allwords" then blnSearchFound = False
                               
                            End If
                        Next
                    End If
                                       
                   
                intTotalFilesSearched = intTotalFilesSearched + 1
           
           
                   
                If strPageTitle = "" Then strPageTitle = "<font size=2><b>Siden har ingen titel!</b></font>"
                   
                If strPageDescription = "" Then strPageDescription = "<font size=2>Der er ikke lavet en beskrivelse af denne side.</font>"
                   
                                                                   
                   
                If blnSearchFound = True Then
                                   
                                                       
                    intTotalFilesFound = intTotalFilesFound + 1
                                       
                                       
                    If  intNumFilesShown < (intRecordsPerPage + intFileNum) and intTotalFilesFound > intNumFilesShown Then
   
                        intNumFilesShown = intNumFilesShown + 1
                       
                    End If   
       
                                 
                             
                      intResultsArrayPosition = intResultsArrayPosition + 1
                         
                             
                      blnSearchResultsFound = True
                                                       
                    If blnIsRoot = True Then
                       
                       
                        sarySearchResults(intResultsArrayPosition,1) = "<a href=""./" &  filObject.Name & """ target=""_self"">" & strPageTitle & "</a>"
                                                   
                                                                         
                              Else
                              sarySearchResults(intResultsArrayPosition,1) = "<a href=""./" & strFileURL  & fldObject.Name & "/" & filObject.Name & """ target=""_self"">" & strPageTitle & "</a>"                                                           
                       
                    End If                       
                   
                    sarySearchResults(intResultsArrayPosition,1) = sarySearchResults(intResultsArrayPosition,1) & vbCrLf & "        <font size=2><br>" & strPageDescription & "</font>"
                    sarySearchResults(intResultsArrayPosition,1) = sarySearchResults(intResultsArrayPosition,1) & vbCrLf & "        <font size=""1"" color=""#000000""><br>Søgningen machede " & intNumMatches & " &nbsp;-&nbsp; Sidst opdateret " & FormatDateTime(filObject.DateLastModified, VbLongDate) & " &nbsp;-&nbsp; Side størelse " & CInt(filObject.Size / 1024) & "kb</font>"
                   
                   
                   
                    sarySearchResults(intResultsArrayPosition,2) = intNumMatches
                                   
                      End If
                           
                    tsObject.Close
            End If
        End If
    Next
   
    Set objRegExp = Nothing
       
   
    For Each subFldObject In FldObject.SubFolders
                                       
        If NOT InStr(1, strBarredFolders, subFldObject.Name, vbTextCompare) > 0 Then
           
            blnIsRoot = False
                       
                   
            strFileURL = fldObject.Path & "\"
           
            strFileURL = Replace(strFileURL, strServerPath, "")
           
            strFileURL = Replace(strFileURL, "\", "/")
           
            strFileURL = Server.URLEncode(strFileURL)
           
            strFileURL = Replace(strFileURL, "%2F", "/")
                       
            Call SearchFile(subFldObject)
        End If
    Next



    Set filObject = Nothing
    Set tsObject = Nothing
    Set subFldObject = Nothing
End Sub




Private Sub SortResultsByNumMatches(ByRef sarySearchResults, ByRef intTotalFilesFound)

    Dim intArrayGap         'Holds the part of the array being sorted
    Dim intIndexPosition        'Holds the Array index position being sorted
    Dim intTempResultsHold        'Temperary hold for the results if they need swapping array positions       
    Dim intTempNumMatchesHold    'Temperary hold for the number of matches for the result if they need swapping array positions
    Dim intPassNumber        'Holds the pass number for the sort
   
   
    For intPassNumber = 1 To intTotalFilesFound
   
        For intIndexPosition = 1 To (intTotalFilesFound - intPassNumber)
       
            If sarySearchResults(intIndexPosition,2) < sarySearchResults((intIndexPosition+1),2) Then
           
               
                intTempResultsHold = sarySearchResults(intIndexPosition,1)
               
                intTempNumMatchesHold = sarySearchResults(intIndexPosition,2)
               
               
               
               
                sarySearchResults(intIndexPosition,1) = sarySearchResults((intIndexPosition+1),1)
                                   
                sarySearchResults(intIndexPosition,2) = sarySearchResults((intIndexPosition+1),2)
               
                sarySearchResults((intIndexPosition+1),1) = intTempResultsHold
               
                sarySearchResults((intIndexPosition+1),2) = intTempNumMatchesHold           
            End If
        Next           
    Next                   
End Sub




Private Function GetFileMetaTag(ByRef strStartValue, ByRef strEndValue, ByVal strFileContents)

    Dim intStartPositionInFile    'Holds the start position in the file
    Dim intEndPositionInFile    'Holds the end position in the file
   
   
    intStartPositionInFile = InStr(1, LCase(strFileContents), strStartValue, 1)
   
   
    If intStartPositionInFile = 0 And InStr(strStartValue, "name=") Then
       
        strStartValue = Replace(strStartValue, "name=", "http-equiv=")
       
        intStartPositionInFile = InStr(1, LCase(strFileContents), strStartValue, 1)       
    End If
   
                       
    If NOT intStartPositionInFile = 0 Then
                   
        intStartPositionInFile = intStartPositionInFile + Len(strStartValue)
                       
        intEndPositionInFile = InStr(intStartPositionInFile, LCase(strFileContents), strEndValue, 1)
   
        GetFileMetaTag = Trim(Mid(strFileContents, intStartPositionInFile, (intEndPositionInFile - intStartPositionInFile)))
                   
    Else
        GetFileMetaTag = ""
                     
    End If

End Function
%>
Avatar billede karsten_larsen Praktikant
13. januar 2003 - 23:32 #1
Avatar billede angam Nybegynder
13. januar 2003 - 23:40 #2
Ok; selvom mit svar kun er et gæt, fortjener jeg nu 5 points for gennemæsning *ggg* ...

men hvad hvis du sætter
  Session.LCID = 1030

i toppen af koden? (sætter locale til Dansk - _måske_ har det indflydelse på æøå? (jeg bruger det normalt til at få "rigtigt" komma frem istedet for punktum).
Avatar billede angam Nybegynder
13. januar 2003 - 23:42 #3
... du har sat blnEnglishLanguage til false, ikke?
Avatar billede hossein Nybegynder
13. januar 2003 - 23:44 #4
Du kan sætte sproget til den som du vil:
<%Session.CodePage = 65001%> du skal bare finde Codepage nr. for dansk i fx microsoft.dk
Avatar billede karsten_larsen Praktikant
13. januar 2003 - 23:47 #5
-> angarn:
Session.LCID = 1030  - virker ikke
blnEnglishLanguage - er sat til false
:-)
Avatar billede hossein Nybegynder
13. januar 2003 - 23:47 #6
For dansk bliver: <%Session.CodePage = 1252%>
Avatar billede karsten_larsen Praktikant
13. januar 2003 - 23:51 #7
-> hossein
<%Session.CodePage = 1252%> er sat i toppen, men det hjælper ikke.

:-) k_l
Avatar billede hossein Nybegynder
13. januar 2003 - 23:54 #8
Kører du på din egen server?
Avatar billede karsten_larsen Praktikant
13. januar 2003 - 23:55 #9
nej - det ligger hos azero.
Avatar billede hossein Nybegynder
14. januar 2003 - 00:02 #10
Jeg kender den ikke, men hvis det er dansk så har de installeret dansk?! men prøv med:
<%@ CodePage = 65001 %>
det er for charset unicode UTF-8
kig eventuel her:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html/psdk/asp/eadg6e7n.asp
Avatar billede karsten_larsen Praktikant
14. januar 2003 - 00:24 #11
-> hossein
Med <%@ CodePage = 65001 %>

og legalize virker det lidt.

Jeg kan få det til at finde århus etc. men æ,ø, å er så væk i søgeresultatet! Jeg har sat legalize ind som en function nederst og lavet om lige efter form slutter.

:-) k_l (på vej i seng)

hele koden kommer hele her:

<%@ CodePage = 65001 %>
<%

                'Script udviklet af Much mr@asapweb.dk
                'Respekter venligst (c) og giv mig lidt kredit for mit arbejde.
               
               
               
               
%>

<% 'Option Explicit %>
<%

Response.Buffer = True

Dim fsoObject           
Dim fldObject               
Dim sarySearchWord       
Dim strSearchWords       
Dim blnIsRoot           
Dim strFileURL   
Dim strServerPath       
Dim intNumFilesShown       
Dim intTotalFilesSearched   
Dim intTotalFilesFound       
Dim intFileNum       
Dim intPageLinkLoopCounter   
Dim sarySearchResults(1000,2)
Dim intDisplayResultsLoopCounter
Dim intResultsArrayPosition   
Dim blnSearchResultsFound   
Dim strFilesTypesToSearch   
Dim strBarredFolders       
Dim strBarredFiles
Dim blnEnglishLanguage       


Const intRecordsPerPage = 10 'change this to the number of results to show on each page

strFilesTypesToSearch = "htm,html,asp,shtml"

strBarredFolders = "cgi_bin,_bin" 'cgi_bin and _bin have been put in here as examples, but you can put any folders in here

strBarredFiles = "adminstation.htm,no_allowed.asp,admin.asp" 'adminstration.htm and not_allowed.asp have been put in as an examples

blnEnglishLanguage = True 'True = HTML Encode best for English sites \ False = no Emcoding best for non English sites

intTotalFilesSearched = 0

%>
<HTML>
<HEAD>
<TITLE>ASAPweb.dk søgemaskine</TITLE>
<META name="Description" content="I denne streng skriver du beskrivelsen af siden...">
<META name="KeyWords" content="søgemaskine">
<STYLE type="text/css">
<!--
a:active {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: none}
a:hover {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #666666; text-decoration: underline}
a:link {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: underline}
a:visited {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: underline}
.box {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #000000; text-decoration: none; background-image:  url(file:///C|/Dokumenter/Mine%20Web-steder/ny%20side/grafik/graa_bg.gif); border-color: #000000 #333333 #333333 #000000; border-style: solid; border-top-width: thin; border-right-width: thin; border-bottom-width: thin; border-left-width: thin}
body {  font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; color: #000000}
-->
</STYLE>
</HEAD>
<BODY bgcolor="#FFFFFF">
<P><FONT size="2">For at man kan s&oslash;ge skal man jo have nogle sider med
  s&oslash;ge ord....<BR>
  S&aring; derfor er der 2 side hvor der st&aring; forskelige ord.<BR>
  asp, gratis, webdesign, webmaster. Pr&oslash;v de forskelig funktioner. da dette
  ikke st&aring;r p&aring; alle sider.<BR>
  </FONT><FONT size="2">Og pr&oslash;v at skriv noget volapyk eller noget der
  ikke st&aring;r her. <BR>
  Pr&oslash;v alle s&oslash;ge ord for der er sm&aring; hints p&aring; siderne.<BR>
  </FONT> </P>
<FORM method="get" name="frmSiteSearch" action="site_search.asp">
  <TABLE cellpadding="0" cellspacing="0" width="90%" align="center">
    <TR>
      <TD class="arial" height="4" width="571"> <B><FONT size="2">Fandt du ikke
        det du skulle bruge ?</FONT></B></TD>
    </TR>
    <TR>
      <TD class="normal" height="2" width="571">
        <INPUT type="TEXT" name="search" maxlength="50" size="36" value="<% =Request.QueryString("search") %>" class="box">
        <INPUT type="submit" value="S&oslash;g &gt;&gt;" name="submit" class="box">
      </TD>
    </TR>
    <TR>
      <TD class="normal" height="34" width="571" valign="top"> <FONT size="2">Specifik
        s&oslash;gning </FONT><FONT size="2"> :
        <INPUT type="radio" name="mode" value="allwords" checked>
        Alle ord
        <INPUT type="radio" name="mode" value="anywords">
        Nogle af ordene
        <INPUT type="radio" name="mode" value="phrase">
        S&aelig;tningen </FONT></TD>
    </TR>
  </TABLE>
</FORM>


<%


strSearchWords = Request.QueryString("search")

Call legalize(strSearchWords)

strSearchWords = Trim (strSearchWords)


If blnEnglishLanguage = False Then
    strSearchWords = Server.HTMLEncode(strSearchWords)

Else
    'Just replace the script tag <> with HTML encoded &lt; and &gt;
    strSearchWords = Replace(strSearchWords, "<", "&lt;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, ">", "&gt;", 1, -1, 1)
End If

sarySearchWord = Split(Trim(strSearchWords), " ")



intFileNum = CInt(Request.QueryString("FileNumPosition"))

intNumFilesShown = intFileNum

Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")

If NOT strSearchWords = "" Then

    Set fldObject = fsoObject.GetFolder(Server.MapPath("./"))
   
    strServerPath = fldObject.Path & "\"
   
    blnIsRoot = True
       
    Call SearchFile(fldObject)           
   
    Set fsoObject = Nothing
    Set fldObject = Nothing   
   
   
    Call SortResultsByNumMatches(sarySearchResults, intTotalFilesFound)
       
   
    Response.Write vbCrLf & "    <table width=""98%"" border=""0"" cellspacing=""1"" cellpadding=""1"" align=""center"" bgcolor=""#EBEBEB"">"
    Response.Write vbCrLf & "       <tr>"
   
    If blnSearchResultsFound = False Then
        Response.Write vbCrLf & "         <td><font size=2>&nbsp;Søgte på sider efter <b>" & strSearchWords & "</b>. &nbsp;&nbsp;&nbsp;Desvære der var ingen resultater.</font></td>" 
   
    Else   
        Response.Write vbCrLf & "         <td><font size=2>&nbsp;Søgte på sider efter <b>" & strSearchWords & "</b>. &nbsp;&nbsp;&nbsp;Viser resultater " & intFileNum + 1 & " - " & intNumFilesShown & " af " & intTotalFilesFound & ".</font></td>"       
    End If
   
    Response.Write vbCrLf & "      </tr>"
    Response.Write vbCrLf & "    </table>"
       
   
    Response.Write vbCrLf & "    <table width=""95%"" border=""0"" cellspacing=""1"" cellpadding=""1"" align=""center"">"
    Response.Write vbCrLf & "    <tr>"
    Response.Write vbCrLf & "      <td>" 
   
    If blnSearchResultsFound = False Then
   
        Response.Write vbCrLf & "      <br>"
        Response.Write vbCrLf & "      <font size=2>Dit søgeord var - <b>" & strSearchWords & "</b> - Der var desvære ingen resultat/resultater af søgningen.</font>"
          Response.Write vbCrLf & "      <br><br>"
          Response.Write vbCrLf & "      <font size=2><b>Muligheder:</b></font>"
          Response.Write vbCrLf & "      <br>"
          Response.Write vbCrLf & "      <font size=2><ul><li>Har du stavet det rigtigt?<li>Prøv uden special tegn.<li>Prøv med et andet keyword.<li>Prøv med fære keywords.</ul></font>"
   
    Else
       
        For intDisplayResultsLoopCounter = (intFileNum + 1) to intNumFilesShown
       
            Response.Write vbCrLf & "        <br>"
            Response.Write vbCrLf & "        " & sarySearchResults(intDisplayResultsLoopCounter,1)
            Response.Write vbCrLf & "        <br>"
        Next
    End If
   
    Response.Write vbCrLf & "        </td>"
    Response.Write vbCrLf & "      </tr>"
    Response.Write vbCrLf & "    </table>"

End If


If intTotalFilesFound > intRecordsPerPage then

    Response.Write vbCrLf & "    <br>"
    Response.Write vbCrLf & "    <table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0"" align=""center"">"
    Response.Write vbCrLf & "       <tr>"
    Response.Write vbCrLf & "         <td>"
    Response.Write vbCrLf & "        <table width=""100%"" border=""0"" cellpadding=""0"" cellspacing=""0"">"
    Response.Write vbCrLf & "          <tr>"
    Response.Write vbCrLf & "            <td width=""50%"" align=""center"">"
   
    Response.Write vbCrLf & "        <font size=2>Antal sider med valgte søgning:&nbsp;&nbsp;</font>"
   
       
    If intNumFilesShown > intRecordsPerPage Then
        Response.Write vbCrLf & "        <font size=2><a href=""site_search.asp?FileNumPosition=" &  intFileNum - intRecordsPerPage  & "&search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & """ target=""_self"">&lt;&lt;&nbsp;Sidste</a></font> "             
    End If       
   
   
    If intTotalFilesFound > intRecordsPerPage Then
       
        For intPageLinkLoopCounter = 1 to CInt((intTotalFilesFound / intRecordsPerPage) + 0.5)
           
            If intFileNum = (intPageLinkLoopCounter * intRecordsPerPage) - intRecordsPerPage Then
                Response.Write vbCrLf & "            <font size=2 color=#CC3300><b>" & intPageLinkLoopCounter & "</b></font>"
            Else
           
                Response.Write vbCrLf & "            &nbsp;<font size=2><a href=""site_search.asp?FileNumPosition=" &  (intPageLinkLoopCounter * intRecordsPerPage) - intRecordsPerPage & "&search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & """ target=""_self"">" & intPageLinkLoopCounter & "</a></font>&nbsp; "           
            End If
        Next
    End If
   
   
    If intTotalFilesFound > intNumFilesShown then     
        Response.Write vbCrLf & "        &nbsp;<font size=2><a href=""site_search.asp?FileNumPosition=" &  intNumFilesShown  & "&search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & """ target=""_self"">Næste&nbsp;&gt;&gt;</a></font>"         
    End If         
   
   
    Response.Write vbCrLf & "            </td>"         
    Response.Write vbCrLf & "          </tr>"
    Response.Write vbCrLf & "        </table>"       
    Response.Write vbCrLf & "        </td>"
    Response.Write vbCrLf & "      </tr>"
    Response.Write vbCrLf & "    </table>"
   

End If

%>
<BR>
<DIV align="center"> 
  <TABLE width="98%" border="0" cellspacing="1" cellpadding="1" align="center">
    <TR>
       
      <TD width="47%" height="18">&nbsp;</TD>
        <TD width="53%" align="right" height="18"><BR>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <%Response.Write("<font size=1><b>(c)</b>2002 ASAPweb.dk</font>")%>
      </TD>
      </TR>
    </TABLE>

    <BR>
</DIV>
<FONT size="2">Den simple m&aring;de hvis nu man har s&oslash;ge funktion itegreret
i sin grafik....</FONT> <A href="simpel_site_search.asp"> GO</A><BR>
</BODY>
</HTML>
<%



Public Sub SearchFile(fldObject)

    Dim objRegExp               
    Dim objMatches   
    Dim filObject
    Dim tsObject               
    Dim subFldObject           
    Dim strFileContents       
    Dim strPageTitle           
    Dim strPageDescription       
    Dim strPageKeywords           
    Dim intSearchLoopCounter       
    Dim intNumMatches           
    Dim blnSearchFound               
   
    On Error Resume Next
   
    Err.Number = 0
                 
    Set objRegExp = New RegExp
                 
    If Err.Number <> 0 Then
        Response.Write("<br>FEJL! Serveren understøtter ikke extension<br>")
                   
        Err.Number = 0
    End If
       
    For Each filObject in fldObject.Files
       
               
        If InStr(1, strFilesTypesToSearch, fsoObject.GetExtensionName(filObject.Name), vbTextCompare) > 0 Then
   
              If NOT InStr(1, strBarredFiles, filObject.Name, vbTextCompare) > 0 Then             
             
              blnSearchFound = False
                 
                  intNumMatches = 0             
                 
                      objRegExp.Global = True
                 
                  objRegExp.IgnoreCase = True
                 
                                   
             
                  Set tsObject = filObject.OpenAsTextStream
           
                strFileContents = tsObject.ReadAll       
       
                strPageTitle = GetFileMetaTag("<title>", "</title>", strFileContents)
                       
                strPageDescription = GetFileMetaTag("<meta name=""description"" content=""", """>", strFileContents)
               
                strPageKeywords = GetFileMetaTag("<meta name=""keywords"" content=""", """>", strFileContents)
                           
               
               
                objRegExp.Pattern = "<[^>]*>"
               
                strFileContents = objRegExp.Replace(strFileContents,"")
                   
                strFileContents = strFileContents & " " & strPageTitle & " " & strPageDescription & " " & strPageKeywords
               
           
                               
                If Request.QueryString("mode") = "phrase" Then
                   
                    objRegExp.Pattern = "\b" & strSearchWords & "\b"
                   
                    Set objMatches = objRegExp.Execute(strFileContents)
                   
                    If objMatches.Count > 0 Then
                   
                        intNumMatches = objMatches.Count
                   
                        blnSearchFound = True
                    End If
               
               
                Else
                           
                    If Request.QueryString("mode") = "allwords" then blnSearchFound = True
                   
                   
                    For intSearchLoopCounter = 0 to UBound(sarySearchWord)
                   
                        objRegExp.Pattern = "\b" & sarySearchWord(intSearchLoopCounter) & "\b"
                       
                        Set objMatches = objRegExp.Execute(strFileContents)
                               
                            If objMatches.Count > 0 Then
                           
                                    intNumMatches = intNumMatches + objMatches.Count
                       
                                If Request.QueryString("mode") = "anywords" then blnSearchFound = True
                               
                            Else
                                If Request.QueryString("mode") = "allwords" then blnSearchFound = False
                               
                            End If
                        Next
                    End If
                                       
                   
                intTotalFilesSearched = intTotalFilesSearched + 1
           
           
                   
                If strPageTitle = "" Then strPageTitle = "<font size=2><b>Siden har ingen titel!</b></font>"
                   
                If strPageDescription = "" Then strPageDescription = "<font size=2>Der er ikke lavet en beskrivelse af denne side.</font>"
                   
                                                                   
                   
                If blnSearchFound = True Then
                                   
                                                       
                    intTotalFilesFound = intTotalFilesFound + 1
                                       
                                       
                    If  intNumFilesShown < (intRecordsPerPage + intFileNum) and intTotalFilesFound > intNumFilesShown Then
   
                        intNumFilesShown = intNumFilesShown + 1
                       
                    End If   
       
                                 
                             
                      intResultsArrayPosition = intResultsArrayPosition + 1
                         
                             
                      blnSearchResultsFound = True
                                                       
                    If blnIsRoot = True Then
                       
                       
                        sarySearchResults(intResultsArrayPosition,1) = "<a href=""./" &  filObject.Name & """ target=""_self"">" & strPageTitle & "</a>"
                                                   
                                                                         
                              Else
                              sarySearchResults(intResultsArrayPosition,1) = "<a href=""./" & strFileURL  & fldObject.Name & "/" & filObject.Name & """ target=""_self"">" & strPageTitle & "</a>"                                                           
                       
                    End If                       
                   
                    sarySearchResults(intResultsArrayPosition,1) = sarySearchResults(intResultsArrayPosition,1) & vbCrLf & "        <font size=2><br>" & strPageDescription & "</font>"
                    sarySearchResults(intResultsArrayPosition,1) = sarySearchResults(intResultsArrayPosition,1) & vbCrLf & "        <font size=""1"" color=""#000000""><br>Søgningen machede " & intNumMatches & " &nbsp;-&nbsp; Sidst opdateret " & FormatDateTime(filObject.DateLastModified, VbLongDate) & " &nbsp;-&nbsp; Side størelse " & CInt(filObject.Size / 1024) & "kb</font>"
                   
                   
                   
                    sarySearchResults(intResultsArrayPosition,2) = intNumMatches
                                   
                      End If
                           
                    tsObject.Close
            End If
        End If
    Next
   
    Set objRegExp = Nothing
       
   
    For Each subFldObject In FldObject.SubFolders
                                       
        If NOT InStr(1, strBarredFolders, subFldObject.Name, vbTextCompare) > 0 Then
           
            blnIsRoot = False
                       
                   
            strFileURL = fldObject.Path & "\"
           
            strFileURL = Replace(strFileURL, strServerPath, "")
           
            strFileURL = Replace(strFileURL, "\", "/")
           
            strFileURL = Server.URLEncode(strFileURL)
           
            strFileURL = Replace(strFileURL, "%2F", "/")
                       
            Call SearchFile(subFldObject)
        End If
    Next



    Set filObject = Nothing
    Set tsObject = Nothing
    Set subFldObject = Nothing
End Sub




Private Sub SortResultsByNumMatches(ByRef sarySearchResults, ByRef intTotalFilesFound)

    Dim intArrayGap         'Holds the part of the array being sorted
    Dim intIndexPosition        'Holds the Array index position being sorted
    Dim intTempResultsHold        'Temperary hold for the results if they need swapping array positions       
    Dim intTempNumMatchesHold    'Temperary hold for the number of matches for the result if they need swapping array positions
    Dim intPassNumber        'Holds the pass number for the sort
   
   
    For intPassNumber = 1 To intTotalFilesFound
   
        For intIndexPosition = 1 To (intTotalFilesFound - intPassNumber)
       
            If sarySearchResults(intIndexPosition,2) < sarySearchResults((intIndexPosition+1),2) Then
           
               
                intTempResultsHold = sarySearchResults(intIndexPosition,1)
               
                intTempNumMatchesHold = sarySearchResults(intIndexPosition,2)
               
               
               
               
                sarySearchResults(intIndexPosition,1) = sarySearchResults((intIndexPosition+1),1)
                                   
                sarySearchResults(intIndexPosition,2) = sarySearchResults((intIndexPosition+1),2)
               
                sarySearchResults((intIndexPosition+1),1) = intTempResultsHold
               
                sarySearchResults((intIndexPosition+1),2) = intTempNumMatchesHold           
            End If
        Next           
    Next                   
End Sub




Private Function GetFileMetaTag(ByRef strStartValue, ByRef strEndValue, ByVal strFileContents)

    Dim intStartPositionInFile    'Holds the start position in the file
    Dim intEndPositionInFile    'Holds the end position in the file
   
   
    intStartPositionInFile = InStr(1, LCase(strFileContents), strStartValue, 1)
   
   
    If intStartPositionInFile = 0 And InStr(strStartValue, "name=") Then
       
        strStartValue = Replace(strStartValue, "name=", "http-equiv=")
       
        intStartPositionInFile = InStr(1, LCase(strFileContents), strStartValue, 1)       
    End If
   
                       
    If NOT intStartPositionInFile = 0 Then
                   
        intStartPositionInFile = intStartPositionInFile + Len(strStartValue)
                       
        intEndPositionInFile = InStr(intStartPositionInFile, LCase(strFileContents), strEndValue, 1)
   
        GetFileMetaTag = Trim(Mid(strFileContents, intStartPositionInFile, (intEndPositionInFile - intStartPositionInFile)))
                   
    Else
        GetFileMetaTag = ""
                     
    End If

End Function

function legalize(s)
    Dim Temp
   
    Temp = s
   
    Temp = replace(Temp, "(sm)", "<SUP><SMALL>SM</SMALL></SUP>")
    Temp = replace(Temp, "(SM)", "<SUP><SMALL>SM</SMALL></SUP>")
    Temp = replace(Temp, "(tm)", "&#153;")
    Temp = replace(Temp, "(TM)", "&#153;")
    Temp = replace(Temp, "(r)", "&reg;")
    Temp = replace(Temp, "(R)", "&reg;")
    Temp = replace(Temp, "(c)", "&copy;")
    Temp = replace(Temp, "(C)", "&copy;")
        Temp = replace(Temp, "æ", "&aelig;")
    Temp = replace(Temp, "Æ", "&AElig;")
    Temp = replace(Temp, "ø", "&oslash;")
    Temp = replace(Temp, "Ø", "&Oslash;")
    Temp = replace(Temp, "å", "&aring;")
        Temp = replace(Temp, "Å", "&Aring;")
    Temp = replace(Temp, "'", "&acute;")
    Temp = replace(Temp, vbCRLF, "<br>")
        Temp = replace(Temp, "<br><br>", "<p>")
        Temp = replace(Temp, "<br>", " ")
    legalize = Temp
end function

%>
Avatar billede hossein Nybegynder
14. januar 2003 - 00:43 #12
Glad at høre, hvad med:
<meta name="language" content="dan" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

god nat :-)
Avatar billede karsten_larsen Praktikant
14. januar 2003 - 07:49 #13
-> hossein

<meta name etc. virkede ikke.

:-) k_l
Avatar billede hossein Nybegynder
14. januar 2003 - 09:36 #14
God morgen
Ikke glad at høre, men du skal ha' begge 2 med:
<%Session.CodePage = 65001%>
...
<meta name="language" content="dan" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

med den der skal du kunne, da jeg selv bruger den til forskellige sprog, ellers skal du tjekke din kode. Jeg har ikke din DB ellers ville jeg prøve.

vh    hossein
Avatar billede karsten_larsen Praktikant
14. januar 2003 - 22:42 #15
<%@ CodePage = 65001 %> & <META name="language" content="dan" /> kan jeg finde æble, øresund og århus. Men siden kan ikke vise æ, ø og å.

Ved at tilføje <META http-equiv="Content-Type" content="text/html; charset=UTF-8" /> så kan der skrives æ,ø og å men der kan ikke søges på æble men sagtens på bogstavet æ.

???:-) Karsten
Avatar billede hossein Nybegynder
15. januar 2003 - 00:16 #16
dav dav
Det går frem ad, glad at høre, men du har stadigvæk problemer. hmmmm hvad kan det være?? vi prøver med:

<% session.CodePage = 1252%>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="language" content="dan" />

Du skal også huske at sætte disse tag på toppen af siderne, både på den side hvor man indtaster sin søge ord og den side som viser.

God nat
Avatar billede karsten_larsen Praktikant
15. januar 2003 - 07:54 #17
Godmorgen
-> Hossein

Det sidste nye er at jeg fandt at script stammer et helt andet sted fra, nemlig fra http://www.webwizguide.info/default.asp. Ved at ændre det til dansk søgte jeg kun på det første bogstav.

Jeg har så oprettet et nyt sprøgsmål om replace, for så jeg replace den danske karakter helt inde i søgeordet, altså på forskellige pladser.

se svar fra http://www.eksperten.dk/spm/305211

så det bliver dagens arbejde, når jeg er færdig med noget andet arbedje.

Men det er rart at blive husket, for det er min foremmelse at man hurtig bliver glemt, når ens spørgsmål er nogle dage gamle.

Jeg prøver lige dit forslag i den oprindelig kode fra webwizguide

ha´en god dag
:-) Karsten
Avatar billede karsten_larsen Praktikant
15. januar 2003 - 08:06 #18
-> har lige prøvet dit forslag. Det skriver æ, ø og å men kan ikke finde f.eks. æble.

Så måske er fejlen et helt andet sted???

:-) Karsten
Avatar billede hossein Nybegynder
16. januar 2003 - 09:20 #19
hvordan går det?
Avatar billede karsten_larsen Praktikant
16. januar 2003 - 10:33 #20
Ikke særlig godt

Har prøvet følgende:

    strSearchWords = Replace(strSearchWords, "<", "asdas", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, ">", "asdd", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, "æ", "&aelig;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, "Æ", "&AElig;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, "ø", "&oslash;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, "Ø", "&Oslash;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, "å", "&aring;", 1, -1, 1)
    strSearchWords = Replace(strSearchWords, "Å", "&Aring;", 1, -1, 1)
I håb omdet vil ændre karakterene samt i forhold til forskellige lande koder etc.

Men det vil ikke rigtigt virke.

Er ved at løbe tør for ideer. Selve koden passer perfekt når det er på engelsk men ikke dansk.

Har du nogle ideer?

????:-) k_l
Avatar billede karsten_larsen Praktikant
16. januar 2003 - 15:19 #21
Jeg lukker spørgsmålet og finder an anden løsning på mit problem.

-> Hossein du får 30 point for hjælp med fokus på codepages betydning.

:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
16. januar 2003 - 16:09 #22
Ups der røg for mange point af sted!!!

:-( karsten_larsen
Avatar billede hossein Nybegynder
16. januar 2003 - 21:40 #23
:) Tak for det, det sker en gang i mellem, don't worry, du får dem tilbage.
hvis du vil du kan sende alle dine sider til mig + en kopi af din DB, lav en kopi af tabellerne med nogle rækker, så prøver jeg så som jeg kan at finde en løsning. min email er: mach3@get2net.dk

mvh    hossein
Avatar billede hossein Nybegynder
16. januar 2003 - 22:13 #24
ok! Jeg er 100% sikker at der er fejl i koden. Jeg lavede en search side og puttede danske bogstaver og det gav intet resultat. Bagefter lagt jeg:
<%@ Language=VBScript %>
<% session.CodePage = 1252 %>

<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1">
<meta name="language" content="dan">
</HEAD>
<BODY>
i toppen af siden og viste alle resultater. Du er stadigvæk velkommen at sende koden til mig.
vh    hossein
Avatar billede karsten_larsen Praktikant
17. januar 2003 - 10:09 #25
-> godmorgen igen

Det lyder godt. Jeg prøvede, at sætte det hele øverst + place for æ,ø,å og ganske rigtig det virkede.

Men ord med å på første plads eller midt i kan den ikke finde.

Så jeg sender lige mail til dig sammen med min test side.

:-) Karsten_Larsen
Avatar billede karsten_larsen Praktikant
24. januar 2003 - 22:03 #26
Hvordan går det Hossein??

:-) k_l
Avatar billede hossein Nybegynder
24. januar 2003 - 22:13 #27
Det går godt, hvad med dig?
vh    hossein
Avatar billede karsten_larsen Praktikant
24. januar 2003 - 22:20 #28
Jeg sendte en mail til dig, men har ikke lige hørt fra dig.
Avatar billede hossein Nybegynder
24. januar 2003 - 22:23 #29
hvornår?
Avatar billede hossein Nybegynder
24. januar 2003 - 22:26 #30
ok? er det den fra 17-01-2003?
Kan du ikke lave en kopi af din db og sende den til mig? med nogle få recordset?
Avatar billede karsten_larsen Praktikant
24. januar 2003 - 22:27 #31
17 januar
Avatar billede karsten_larsen Praktikant
24. januar 2003 - 22:37 #32
jamen - der skal slet ikke bruges en database til søgefuktionen, da den læser alle filer igennem og sammenligner med søgeordet!
Avatar billede hossein Nybegynder
25. januar 2003 - 16:03 #33
Det er jo underligt. Det virker fint hvis jeg trækker data ud fra database, men jeg ved ikke hvorfor kan den ikke klare fra file. nu har prøvet masse charset, unicode og alt men nej den vil ikke. det underlige er at når jeg vælger sproget som persisk så kan den godt.
jeg har også prøvet med XML men den går heller ikke.
Avatar billede karsten_larsen Praktikant
25. januar 2003 - 17:01 #34
Hvordan får du scriptet til at virke i forhold til en database? Hvad har du ændret?
Avatar billede hossein Nybegynder
25. januar 2003 - 18:04 #35
Det kommer an på hvad det er du vil vise, er det en bog du har, også de data som du har, er en meget lang text, så er det bedre at du laver som du har gjort, men hvis de emner som du vil vise på per side er ikke særlig lang så kan du lave en database i access som indeholder en eller tabeller.

jeg ved ikke det var det, som du ville vide?
Avatar billede hossein Nybegynder
27. januar 2003 - 23:26 #36
Hvordan går det?
Går til:
http://www11.brinkster.com/hossein/index.asp
og skriv: æble
Avatar billede karsten_larsen Praktikant
28. januar 2003 - 00:06 #37
Pulser med lidt flash actionsscript. Har du fået det til at virke. Kan du også få det til at søge på flere ord, som det oprindelig script var på?

Det går da fremad
Avatar billede hossein Nybegynder
28. januar 2003 - 00:47 #38
Det virker, nej jeg har ikke lagt flere ord! det kan klares med en array; har prøvet den link? skal jeg sende koden til dig? det er noget fejl i din kode, men jeg kan ikke finde det?

ha det godt
Avatar billede karsten_larsen Praktikant
28. januar 2003 - 08:12 #39
Godmorgen Hossein

1)Vil du ikke ligge koden herinde, så andre også kan lære af det.

2)Så vil jeg gerne give dig alle 150 point for din hjælp.

:-) karsten_larsen
Avatar billede karsten_larsen Praktikant
28. januar 2003 - 08:13 #40
Ups, glemte lige

Hossein, vil du ikke også ligge det med array herinde.

ha´en god dag.
Avatar billede hossein Nybegynder
28. januar 2003 - 21:56 #41
det med array laver jeg senere, da jeg har lidt travlt på arbejde. Men her har du dit svar.
<%
option Explicit
Dim objFolder,strSearchText,objfso,sc,numItems,begpos,endpos,slen,sResult
if Request.form("SearchText") = "" Then
With Response
.write "<head></head><BODY ><Basefont face=Tahoma><TITLE>http://www11.brinkster.com/hossein/index.asp</TITLE><h2><Center> Søg http://www11.brinkster.com/hossein/index.asp</h2></center><BR><div align=center id=status></div><BR><BR>"
.write "<FORM ACTION=http://www11.brinkster.com/hossein/index.asp METHOD=POST>"
.write "<INPUT TYPE=TEXT NAME=SearchText><BR>"
.write "<INPUT TYPE=SUBMIT VALUE=Søg></FORM>"
end with
else

Server.ScriptTimeout = 90
strSearchText = UCase(Request.Form("SearchText") )

Set objfso = Server.CreateObject("Scripting.FileSystemObject")
sc = Request.form("SC")
sc ="."
Set objFolder = objFSO.GetFolder(Server.MapPath(sc))
sResult ="<head></head><BODY ><TITLE>Søge Resultat(er)</TITLE><h2><Center>Søg i Sitet</h2></center><BR><div align=center id=status></div><BR><BR>"
Search objFolder
if numItems = "" then numItems = "0"
sResult =sResult & "<BR><script language=Javascript>document.all.status.innerHTML="""&numItems&" fil blev foundet. <BR> <A href=index.asp>Søg igen</a>"";</script></body></html>"
Response.write sResult
Function Search(objFolder)
Dim objSubFolder,sext,objFile,objTextStream,strFileContents
'on error resume next
For Each objFile in objFolder.Files
sext = Ucase(mid(objFile.Name, Len(objFile.Name)-3, 4))
if sext = ".HTM" or sext = ".TXT" or sext = ".ASP" then
'if sext = ".ASP" then
Set objTextStream = objFSO.OpenTextFile(objFile.Path,1)
strFileContents = objTextStream.ReadAll
strFileContents = UCase(strFileContents)
if instr(1,strFileContents, "NOINDEX",1) = 0 then
If InStr(1, strFileContents, strSearchText, 1) then
numItems = numItems +1
sResult = sResult & numItems & ".)&nbsp; <A HREF=""" & objFile.Name & """>" & objFile.Name & "</A><BR>"
End if
End If
objTextStream.Close
end if

if err.number <> 0 then
response.write err.description & "<BR>"
err.clear
end if

Next
For Each objSubFolder in objFolder.SubFolders
Search objSubFolder
Next
End Function
end if
%>
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