Suchfunktion wie STRG+F

Scared

Mitglied
Hallo,
also ich möchte eine ganz einfach Suchfunktion bauen die nur eine Datei durchsucht und zwar handelt es sich dabei um ein Glossar. Die Suchfunktion sollte also so aussehen das sie in etwa das gleiche Ergebnis wie Strg+F liefert.
Gut wäre noch wenn sie nur die Begriffe und nicht deren Definition durchsuchen würde.
Im Moment hab ich überhaupt keinen durchblick wie ich das anstellen soll, liegt vielleicht auch daran das es schon so spät ist. *g*
Ach so, eine Datenbank will ich dafür nicht benutzen. ^^
Ich frage hier nicht nach einem fertigen Script sondern bitte um kleine Denkanstöße.

MfG
Scared
 
Hmm...ja gut aber die Funktion gibt ja nur den Wert zurück wo die Zeichenkette steht.
Wie mache ich es denn dann das er wenn man auf suchen klickt auch gleich zu der Stelle springt wo er die Zeichenkette gefunden hat?
 
Scared hat gesagt.:
Wie mache ich es denn dann das er wenn man auf suchen klickt auch gleich zu der Stelle springt wo er die Zeichenkette gefunden hat?
Davon war ja nie die Rede, ich gab Dir nur einen Denkanstoß wie Du das Glossar durchsuchen kannst ;)

Für weitere Tips müssten wir schon wissen wie das Glossar strukturiert ist ...
 
Hast ja recht aber genau da ist halt mein Problem das ich mir überhaupt nicht vorstellen kann wie ich dann dahin springen kann.
Also im Moment habe ich es ganz,ganz "dumm" gemacht *g*

Oben ist halt das Alphabet und jeder Buchstabe ist ein Verweis zu einem Anker.
So kann man schonmal zu "Z" springen.

die begriffe und deren definition sind einfach nur in p tags eingeschlossen.
(der begriff noch in ne'm span damit er ne andere classe kriegt)

hatte überlegt ob ich aus den begriffen auch anker mache oder so irgendwie in die richtung, aber ganz ehrlich ich hab im mom keinen blassen schimmer wie ich es machen soll. :-(
 
OK das Glossar ist also eine HTML-Datei.

Hier kannst Du nachlesen wie Du den Inhalt in eine Variable bekommst:
http://de3.php.net/manual/de/function.readfile.php

Dann kannst Du schon mal mit
PHP:
$pos = strpos ($glossar, "<p>".$suchbegriff);
if ($pos === false) { // Achtung: 3 Gleichheits-Zeichen
   echo "Zu $suchbegriff leider nichts gefunden";
}
feststellen obs den Begriff im Glossar gibt.

Jetzt gibts 2 Möglichkeiten:

Du filterst mit RegEx die relevante Pasage raus und zeigst sie an.
Hier muß ich aber passen, weil mir das bisher immer zu abstrakt war.

Oder Du setzt für jeden Begriff einen Anker und machst eine Weiterleitung auf diesen:
PHP:
// Script von oben erweitern mit
else{
header("Location: http://www.deineSeitee.com/glossar.htm#".$suchbegriff); 
exit;
}
Dabei beachten:
http://de3.php.net/manual/de/function.header.php
 
Danke für die Hilfe! :)
Hmm, aber wie kann ich mit dem readfile die daten in ein array speichern?
Hab im Netz mal nachgelesen und hab das so verstanden das ich in diesem Falle:
readfile("test.txt");
Die Datei auslese, was auch geht.
Und in diesem Fall:
$inhalt = readfile("test.txt")
speichert er in der variablen die dateigröße und nicht den inhalt. :confused:
 
Hab's hingekriegt. Mit file und implode.
Hmm...das dumme ist ja nur das man wirklich genau das wort eingeben muss.
Gibt's da ne Möglichkeit das er wenigstens die Groß und kleinschreibung ignoriert?
Wenn man für die Anker mehrere Namen angeben könnte wäre das natürlich auch noch gut.
Hast jemand ne Idee?
 
Ich suche selber, habe es auch schon hinbekommen das er Groß- und Kleinschreibung ignoriert. Hab's nur nicht gepostet weil ich dachte den Thread liest eh keiner mehr :-(
Aber das mit dem metaphone und soundex ist mir neu danke für den Tipp :)
So schätze dann mal closed :)
 
Zurück