Avatar billede tupsy Nybegynder
26. oktober 2000 - 04:39 Der er 16 kommentarer og
1 løsning

Søgefelt til søgning på min egen side.

Hejsa. Jeg ved ikke helt om jeg har postet dette det rigtige sted, men..
Jeg mangler en \"søgemaskine\" til at søge internt på min hjemmeside..
Det skal kunne følgene : Søge på ALLE sider på mit domain med undtagelse af af nogle bestemte sider og mapper som jeg manuelt vil taste ind som \"søg ikke på disse\".

Altså et søge felt i stil med det der er her på eksperten i venstre side.. Ikke noget med at skulle søge i databaser eller noget. Kun ren html søgning..
Avatar billede keysersoze Ekspert
26. oktober 2000 - 07:37 #1
tror nok du kan finde noget her:

http://www.eksperten.dk/spm/21734
Avatar billede keysersoze Ekspert
26. oktober 2000 - 07:39 #2
Avatar billede keysersoze Ekspert
26. oktober 2000 - 07:58 #4
og den sidste:

http://www.eksperten.dk/spm/26672

da det ikke må være med en database løsning kan det formentlig laves vha perl eller javascript
Avatar billede tupsy Nybegynder
26. oktober 2000 - 08:08 #5
Hmm, syntes ikke rigtigt der er noget på de sider der er 100% brugbart..

Det jeg tænker på er noget i stil med søgemaskinen der kan laves i Frontpage..
Man skal bare kunne udelukke BÅDE enkelte sider og mapper..
Avatar billede twm Nybegynder
26. oktober 2000 - 10:12 #6
Hvad med Matts gamle search script, du kan finde mere om den her:
http://worldwidemart.com/scripts/search.shtml

#!/usr/bin/perl
##############################################################################
# Simple Search                Version 1.0                                  #
# Copyright 1996 Matt Wright    mattw@worldwidemart.com                      #
# Created 12/16/95              Last Modified 12/16/95                      #
# Scripts Archive at:          http://www.worldwidemart.com/scripts/        #
##############################################################################
# COPYRIGHT NOTICE                                                          #
# Copyright 1996 Matthew M. Wright  All Rights Reserved.                    #
#                                                                            #
# Simple Search may be used and modified free of charge by anyone so long as #
# this copyright notice and the comments above remain intact.  By using this #
# code you agree to indemnify Matthew M. Wright from any liability that      # 
# might arise from it\'s use.                                                # 
#                                                                            #
# Selling the code for this program without prior written consent is        #
# expressly forbidden.  In other words, please ask first before you try and  #
# make money off of my program.                                              #
#                                                                            #
# Obtain permission before redistributing this software over the Internet or #
# in any other medium.  In all cases copyright and header must remain intact.#
##############################################################################
# Define Variables                                #

$basedir = \'/mnt/web/guide/worldwidemart/scripts/\';
$baseurl = \'http://worldwidemart.com/scripts/\';
@files = (\'*.shtml\',\'demos/links/*.html\',\'demos/guest/*.html\');
$title = \"Matt\'s Script Archive\";
$title_url = \'http://worldwidemart.com/scripts/\';
$search_url = \'http://worldwidemart.com/scripts/demos/search/search.html\';

# Done                                        #
##############################################################################

# Parse Form Search Information
&parse_form;

# Get Files To Search Through
&get_files;

# Search the files
&search;

# Print Results of Search
&return_html;


sub parse_form {

  # Get the input
  read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});

  # Split the name-value pairs
  @pairs = split(/&/, $buffer);

  foreach $pair (@pairs) {
      ($name, $value) = split(/=/, $pair);

      $value =~ tr/+/ /;
      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(\"C\", hex($1))/eg;

      $FORM{$name} = $value;
  }
}

sub get_files {

  chdir($basedir);
  foreach $file (@files) {
      $ls = `ls $file`;
      @ls = split(/\\s+/,$ls);
      foreach $temp_file (@ls) {
        if (-d $file) {
            $filename = \"$file$temp_file\";
            if (-T $filename) {
              push(@FILES,$filename);
            }
        }
        elsif (-T $temp_file) {
            push(@FILES,$temp_file);
        }
      }
  }
}

sub search {

  @terms = split(/\\s+/, $FORM{\'terms\'});

  foreach $FILE (@FILES) {

      open(FILE,\"$FILE\");
      @LINES = <FILE>;
      close(FILE);

      $string = join(\' \',@LINES);
      $string =~ s/\\n//g;
      if ($FORM{\'boolean\'} eq \'AND\') {
        foreach $term (@terms) {
            if ($FORM{\'case\'} eq \'Insensitive\') {
              if (!($string =~ /$term/i)) {
                  $include{$FILE} = \'no\';
            last;
              }
              else {
                  $include{$FILE} = \'yes\';
              }
            }
            elsif ($FORM{\'case\'} eq \'Sensitive\') {
              if (!($string =~ /$term/)) {
                  $include{$FILE} = \'no\';
                  last;
              }
              else {
                  $include{$FILE} = \'yes\';
              }
            }
        }
      }
      elsif ($FORM{\'boolean\'} eq \'OR\') {
        foreach $term (@terms) {
            if ($FORM{\'case\'} eq \'Insensitive\') {
              if ($string =~ /$term/i) {
                  $include{$FILE} = \'yes\';
                  last;
              }
              else {
                  $include{$FILE} = \'no\';
              }
            }
            elsif ($FORM{\'case\'} eq \'Sensitive\') {
              if ($string =~ /$term/) {
          $include{$FILE} = \'yes\';
                  last;
              }
              else {
                  $include{$FILE} = \'no\';
              }
            }
        }
      }
      if ($string =~ /<title>(.*)<\\/title>/i) {
        $titles{$FILE} = \"$1\";
      }
      else {
        $titles{$FILE} = \"$FILE\";
      }
  }
}
     
sub return_html {
  print \"Content-type: text/html\\n\\n\";
  print \"<html>\\n <head>\\n  <title>Results of Search</title>\\n </head>\\n\";
  print \"<body>\\n <center>\\n  <h1>Results of Search in $title</h1>\\n </center>\\n\";
  print \"Below are the results of your Search in no particular order:<p><hr size=7 width=75%><p>\\n\";
  print \"<ul>\\n\";
  foreach $key (keys %include) {
      if ($include{$key} eq \'yes\') {
        print \"<li><a href=\\\"$baseurl$key\\\">$titles{$key}</a>\\n\";
      }
  }
  print \"</ul>\\n\";
  print \"<hr size=7 width=75%>\\n\";
  print \"Search Information:<p>\\n\";
  print \"<ul>\\n\";
  print \"<li><b>Terms:</b> \";
  $i = 0;
  foreach $term (@terms) {
      print \"$term\";
      $i++;
      if (!($i == @terms)) {
        print \", \";
      }
  }
  print \"\\n\";
  print \"<li><b>Boolean Used:</b> $FORM{\'boolean\'}\\n\";
  print \"<li><b>Case $FORM{\'case\'}</b>\\n\";
  print \"</ul><br><hr size=7 width=75%><P>\\n\";
  print \"<ul>\\n<li><a href=\\\"$search_url\\\">Back to Search Page</a>\\n\";
  print \"<li><a href=\\\"$title_url\\\">$title</a>\\n\";
  print \"</ul>\\n\";
  print \"<hr size=7 width=75%>\\n\";
  print \"Search Script written by Matt Wright and can be found at <a href=\\\"http://www.worldwidemart.com/scripts/\\\">Matt\'s Script Archive</a>\\n\";
  print \"</body>\\n</html>\\n\";
}
 
Avatar billede tupsy Nybegynder
26. oktober 2000 - 17:13 #7
Det ser ud til at være noget i den stil jeg mangler, meeen.. Jeg kan ikke få det til at finde noget!!!
Hvordan skal scriptet sættes op når det ligger i samme dir. som det skal søge i???

Tupsy!!
Avatar billede tupsy Nybegynder
26. oktober 2000 - 17:15 #8
Det finder scriptet og kører det, men der kommer intet resultat.. :-(
Avatar billede twm Nybegynder
27. oktober 2000 - 12:21 #9
har du konfigureret det korrekt i toppen af scriptet?
/twm
Avatar billede twm Nybegynder
27. oktober 2000 - 12:22 #10
er det en nt eller unix box?
Avatar billede twm Nybegynder
27. oktober 2000 - 12:31 #11
hvad har du skrevet din $basedir til?

/TWM
Avatar billede tupsy Nybegynder
28. oktober 2000 - 23:01 #12
Det er den konfiguration jeg ikke er helt sikker på..

Det er en NT server..

Tupsy!!
Avatar billede twm Nybegynder
29. oktober 2000 - 09:48 #13
Eks:
# Define Variables                                #

$basedir = \'c:\\inetpub\\wwwroot\\\';
$baseurl = \'http://www.domain.com/\';;
@files = (\'*.shtml\',\'demos/links/*.html\',\'demos/guest/*.html\');
$title = \"Domains søgescript\";
$title_url = \'http://www.domain.com/\';;
$search_url = \'http://www.domain.com/search.html\';;

# Done                                        #
Avatar billede tupsy Nybegynder
30. oktober 2000 - 14:45 #14
Hmmm, den skriver at der ikke er noget output fra scriptet...
Avatar billede twm Nybegynder
11. november 2000 - 02:18 #15
Prøv at skriv denne kode i en fil du kalder test.pl, og se om den virker:

#!/usr/bin/perl

# Print HTTP header and opening HTML tags.                          #
print \"Content-type: text/html\\n\\n\";
print \"<html>\\n <head>\\n\";

print \"  <title>Perl Virker!!!</title>\\n\";

print \" </head>\\n <body>\";
print \" Dette Script virker!\";
print \" </body>\\n </html>\";
Avatar billede tupsy Nybegynder
11. november 2000 - 12:21 #16
Det er hermed gjort..

www.ddsound.dk/test.pl

Tupsy!!
Avatar billede tupsy Nybegynder
22. november 2000 - 00:00 #17
Hmm, der er åbenbart ingen der kan hjælpe..

Så jeg lukker!!!

Tupsy!!
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