tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
270
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Oct 2005
    Beiträge
    277
    Hi,
    ich habe Probleme mit meiner Suchfunktion. Sie durchsucht eine Textdatei nach einem Suchwort. Nur, ist das Wort kleiner als 3 Buchstaben, werden alle in der Textdatei enthaltenen Wörter "gefunden".
    Ich bin noch absoluter Neuling und weiß nicht, wie ich es ändern kann. Die einzige Idee, die ich hatte, ist auch falsch, wie im Quelltext ersichtlich.

    PHP-Code:
    <?php
    if (!($_POST['eingabe']=="" && $_POST['eingabe'] >= 0)) {
        
    reset($_POST);
        foreach(
    $_POST as $key=>$element) {
        ${
    "form_$key"} = $element;
        }
    $muster "/$form_eingabe/i";
    $ergebnis preg_grep($musterfile('suche.txt'));
    foreach (
    $ergebnis as $ausgabe) {
        echo 
    "$ausgabe";
    }
    }
    else{
    echo 
    "Bitte geben Sie ein Suchwort ein!";
    }
    ?>
    Danke, Gunnar
     

  2. #2
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Ich kapier dein Problem nicht ganz. Grundsätzlich kannst du Textdateien allerdings so durchsuchen:
    PHP-Code:
    <?php
    $file 
    "daten.txt";
    $found explode($_POST["eingabe"], implode(""file($file)));

    # Anzahl der gefundenen Wörter
    echo "<p>Gefunden: ".(count($found) - 1)."</p>";

    # Text ausgeben, wobei das gefundene Wort jeweils fett hervorgehoben wird
    echo "<p>".implode("<b>".$_POST["eingabe"]."</b>"$found);

    # Für jeden "Fund" das Wort mitsamt seiner Position ausgeben:
    $pos 0;
    echo 
    "<p>";
    for(
    $i=0$i<count($found)-1$i++) {
       
    $pos += strlen($found[$i]);
       echo 
    $_POST["eingabe"]." (Position: ".$pos.")<br/>";
       
    $pos += strlen($_POST["eingabe"]);
    }
    echo 
    "</p>";
    ?>
    Geändert von split (20.10.05 um 14:56 Uhr)
     
    Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut

  3. #3
    Registriert seit
    Oct 2005
    Beiträge
    277
    Danke split,
    ich guck mir das mal an. Ich bin eigentlich mit meiner Suche zufrieden, nur zeigt sie halt alle in der Textdatei enthaltenen Wörter an, wenn das Suchwort kleiner als 3 Buchstaben ist.
    PHP-Code:
    && $_POST['eingabe'] >= 
    Ich wollte das ändern, indem ich obenstehendes eingefügt habe. Es funktioniert leider nur nicht.
    Meine Frage ist nun, was daran falsch ist.

    Gunnar
    Geändert von schiese (20.10.05 um 15:08 Uhr)
     

  4. #4
    Avatar von split
    split split ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    München
    Beiträge
    574
    Änder deine Abfrage mal in:
    PHP-Code:
    if($_POST["eingabe"] != "" && strlen($_POST["eingabe"]) >= 3
    Anmerkung: strlen() gibt die Länge einer Zeichenkette zurück.
     
    Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut

  5. #5
    Registriert seit
    Oct 2005
    Beiträge
    277
    Danke split, klappt einwandfrei!!

    Gunnar
     

Ähnliche Themen

  1. Probleme bei Suchfunktion mit Umlauten
    Von Herror im Forum PHP
    Antworten: 8
    Letzter Beitrag: 21.04.08, 19:29
  2. PHP Suchfunktion! <probleme>
    Von picos im Forum PHP
    Antworten: 4
    Letzter Beitrag: 12.02.05, 20:20
  3. Probleme mir Suchfunktion....
    Von medico im Forum PHP
    Antworten: 10
    Letzter Beitrag: 18.01.04, 19:49
  4. Probleme mit Suchfunktion
    Von nick im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.02.03, 13:11
  5. Probleme mit Suchfunktion in Mysql
    Von Shadow im Forum PHP
    Antworten: 5
    Letzter Beitrag: 11.10.02, 10:52