[GastForen Web allgemein HTML und CSS / Stylesheets Schnellsuchfunktion

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Schnellsuchfunktion

Sero
Beiträge gesamt: 143

14. Mai 2008, 05:42
Beitrag # 1 von 10
Bewertung:
(4013 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

für mein neues Projekt wurde ich gefragt, ob ich ein Schnellsuchfunktion in die Website integrieren könnte. Dabei geht es nicht um große Datenbankmengen, eher um schnell die email adresse eines Mitarbeiters zu finden oder um nach einem Projekt zu suchen. Ich möchte nur mal wissen, wie man dabei herangeht. Muss ich dafür einen großen Aufwand betreiben? Im Netz habe ich mal folgendes php Skript dazu gefunden:
Code
 <?php 
$dateityp = ".php";

if (empty($search))
{
$search = $_POST[search];
}
if (strlen($search) < "3")
{
echo "Geben Sie bitte einen Suchbegriff von mindestens 3 Buchstaben L&auml;nge ein.";

}else{


$found = "0";
$verz = opendir('.');

while ($file = readdir($verz))
{
if ($file != "." && $file != ".." && !is_dir($file))
{
$filetype = stristr($file, $dateityp);
if (!empty($filetype))
{
$string = file_get_contents($file);
$string = html_entity_decode($string);
$string = strtolower($string);
$search = strtolower($search);
$test = substr_count($string, $search);
if (!empty($test))
{
$string = ereg_replace("\n", "", $string);
$string = strip_tags($string);

$pieces = explode($search, $string);
$piece1 = substr($pieces[0], -50);
$piece1 = explode(" ", $piece1);
array_shift($piece1);
$piece1 = implode(" ", $piece1);
$piece2 = substr($pieces[1], 0, 100);
$piece2 = explode(" ", $piece2);
array_pop($piece2);
$piece2 = implode(" ", $piece2);
$rest = "$piece1<b>$search</b>$piece2";
$array .= "<b>$test Fundstelle/n</b> <br>$rest <br><a href=\"$file\" target=\"_self\" class=\"link\"> >> $file</a><br><br>\n";
$found++;
}
}
}
}
closedir($verz);
if ($found != "0")
{
echo "Es wurden <strong>$found</strong> Treffer gefunden sortiert nach der H&auml;ufigkeit des Vorkommens des Suchbegriffs:<br><br>";
$array = explode("\n", $array);
natsort($array);
reset($array);
$array = array_reverse($array);
while (list($line_num, $line) = each($array))
{
$ausgabe .= "$line\n";
}
print $ausgabe;
}
if ($found == "0")
{
echo "Es wurden leider keine Übereinstimmungen mit dem eingegebenen Suchbegriff gefunden !";
}
}
?>


Ich denke mal, dass man die php mit einem Formularfeld referenziert.
Kann die Website auf html basis gestaltet sein oder setzt die Funktion ein anderes Format voraus.

Vielen Dank für eure Vorschläge

Sero
X

Schnellsuchfunktion

ganesh
Beiträge gesamt: 1981

14. Mai 2008, 06:44
Beitrag # 2 von 10
Beitrag ID: #350106
Bewertung:
(4001 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das hat aber nicht viel mit HTML + CSS zu tun...

Gute Suchprogramme sind nicht so einfach wie man meinen könnte. Das Script, das du irgendwo gefunden hast, hat gleich mehrere Probleme:

a) Sicherheit: Gewisse Datei-Arten sowie Strings sollten nicht erscheinen (Server-Files, configs usw.)

b) Es wird der PHP-Code durchsucht - nicht das geparste HTML, das man im Browser sieht. Grosser Unterschied.

c) In der Praxis würde man einen Index erstellen, und nur diesen Index abfragen. Bei jeder Suchanfrage das Verzeichnis durchsuchen scheint mir nicht sehr effizient.

d) CSS und HTML Code erscheint auch in Suchresultaten.

In der Praxis wäre es auch sicher so, dass eine Seite, die überhaupt ein Suchformular rechtfertigt, sicher via CMS - und ergo schon mit Datenbank-Unterstützung läuft. Ein CMS hat in der Regel schon eine Suchfunktion dabei - und wenn nicht, würde man dies z.B. via FULLTEXT + DB bewerkstelligen.


als Antwort auf: [#350105]

Schnellsuchfunktion

Sero
Beiträge gesamt: 143

14. Mai 2008, 08:02
Beitrag # 3 von 10
Beitrag ID: #350113
Bewertung:
(3985 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Ganesh,

vielen Dank für deine schnelle Antwort. Sieht ganz danach aus, das dieser Kundenwunsch gar nicht so einfach umzusetzen ist, was ich mir schon fast denken konnte.
Du würdest demnach dieses Skript nicht verwenden - ist es eher unbrauchbar? Nochmal zum Verständnis: könnte die Website grundsätzlich auf html Basis laufen, im Hinblick auf meine Ansprüche (es geht vielleicht um 100 Abfragen max.)?

Danke und Gruß aus Kanada
Sero


als Antwort auf: [#350106]

Schnellsuchfunktion

Intermedia
Beiträge gesamt: 1287

14. Mai 2008, 08:25
Beitrag # 4 von 10
Beitrag ID: #350119
Bewertung:
(3977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

also bedingt wäre das schon einsetzbar, die Extension kann man auf .htm / html begrenzen. Aus den Ergebnissen müssen dann noch die die Tags (strip_tag) entfernt werden.

Ist nur so eine Idee.

Wenn es nur um das Pflegen / Suchen von E-Mail Adressen geht ist das für einen Programmier nun wirklich kein Problem und sollte innerhalb kurzer Zeit realisierbar sein.
Geh ins Jobforum und lass dir Angebote machen.


Gruß Sven


als Antwort auf: [#350113]

Schnellsuchfunktion

FSt
  
Beiträge gesamt: 1964

14. Mai 2008, 08:29
Beitrag # 5 von 10
Beitrag ID: #350121
Bewertung:
(3977 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sero

Grundsätzlich könnte das in HTML schon funktionieren. Wenn die Website inhaltlich nicht immer wieder ändert, könntest Du ja eine Indexseite mit diesen 100 Suchwörtern von Hand produzieren und alle benötigten Links eintragen. Ich habe sowas ähnliches mal gemacht.
http://www.kmu-laufental.ch/...chenverzeichnis.html
Ich muss nun einfach bei einem Neueintritt oder einem Austritt eines Mitgliedes seinen Eintrag einfügen bzw. löschen. War etwa ½-Tag arbeit zum erstellen und jetzt bei jeder Mitgliedermutation 1 Minute.
Ich hatte damals das Gefühl, dass ich "von Hand" schneller an Ziel komme als aufwändig ein Script zu programieren, das mir die entsprechenden Suchbegriffe ausliest. Und im Nachhinhein würd ichs wieder so machen ...

Gruss
Martin


als Antwort auf: [#350113]

Schnellsuchfunktion

SabineP
Beiträge gesamt: 7586

14. Mai 2008, 08:38
Beitrag # 6 von 10
Beitrag ID: #350125
Bewertung:
(3974 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich empfehle für eine Suchfunktion innerhalb von Dateien "Perlfect Search":

http://www.perlfect.com/freescripts/search/

Ein Indexer kümmert sich um die Erstellung des Suchindexes.
Die Erstellung des Indexes kann über http erfolgen oder über das Filesystem.


als Antwort auf: [#350121]
(Dieser Beitrag wurde von SabineP am 14. Mai 2008, 08:40 geändert)

Schnellsuchfunktion

Sero
Beiträge gesamt: 143

15. Mai 2008, 03:47
Beitrag # 7 von 10
Beitrag ID: #350238
Bewertung:
(3926 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
He Leute,

vielen Dank für eure Beiträge.
ich werde mal euren Anregungen nachgehen.
@ Sabine
Perfect Search: durchscannt dieses Tool ausschließlich meine Website? Hast du schon Erfahrungen damit gemacht und kannst du mir mal einen passenden Link geben. Wie erfolgt die Ausgabe der Suchergebnisse, übernimmt das das Tool?

Gruß Sero


als Antwort auf: [#350125]

Schnellsuchfunktion

SabineP
Beiträge gesamt: 7586

15. Mai 2008, 08:39
Beitrag # 8 von 10
Beitrag ID: #350250
Bewertung:
(3907 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sero,

>> durchscannt dieses Tool ausschließlich meine Website?

Ja.

Für fremde Webseiten kannst Du ein Google-Suchfeld einbinden.


>> kannst du mir mal einen passenden Link geben.

Ich benutze es nur intern. Hier, oben rechts ist ein Suchformular, da kannst Du testen:
http://www.perlfect.com/freescripts/search/

Es gibt Templates in verschiedenen Sprachen, auch in deutsch.

>> Wie erfolgt die Ausgabe der Suchergebnisse, übernimmt das das Tool?

Das übernimmt das Script, die Darstellung im Browser übernimmt ein HTML-Template.


als Antwort auf: [#350238]

Schnellsuchfunktion

FSt
  
Beiträge gesamt: 1964

16. Mai 2008, 07:28
Beitrag # 9 von 10
Beitrag ID: #350405
Bewertung:
(3852 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sero

http://www.heise.de/...icker/meldung/107935
Ist das was für Dich. Habs aber selber noch nicht ausgetestet.

Gruss
Martin


als Antwort auf: [#350250]

Schnellsuchfunktion

Sero
Beiträge gesamt: 143

16. Mai 2008, 20:32
Beitrag # 10 von 10
Beitrag ID: #350526
Bewertung:
(3830 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Klingt auf jeden Fall interessant. ich werde es mal ausprobieren.

Danke


als Antwort auf: [#350405]
X