ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
270
270
EMPFEHLEN
-
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.
Danke, GunnarPHP-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($muster, file('suche.txt'));
foreach ($ergebnis as $ausgabe) {
echo "$ausgabe";
}
}
else{
echo "Bitte geben Sie ein Suchwort ein!";
}
?>
-
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
-
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.
Ich wollte das ändern, indem ich obenstehendes eingefügt habe. Es funktioniert leider nur nicht.PHP-Code:&& $_POST['eingabe'] >= 3
Meine Frage ist nun, was daran falsch ist.
GunnarGeändert von schiese (20.10.05 um 15:08 Uhr)
-
Änder deine Abfrage mal in:
Anmerkung: strlen() gibt die Länge einer Zeichenkette zurück.PHP-Code:if($_POST["eingabe"] != "" && strlen($_POST["eingabe"]) >= 3)
Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut
-
Danke split, klappt einwandfrei!!
Gunnar
Ähnliche Themen
-
Probleme bei Suchfunktion mit Umlauten
Von Herror im Forum PHPAntworten: 8Letzter Beitrag: 21.04.08, 19:29 -
PHP Suchfunktion! <probleme>
Von picos im Forum PHPAntworten: 4Letzter Beitrag: 12.02.05, 20:20 -
Probleme mir Suchfunktion....
Von medico im Forum PHPAntworten: 10Letzter Beitrag: 18.01.04, 19:49 -
Probleme mit Suchfunktion
Von nick im Forum PHPAntworten: 2Letzter Beitrag: 28.02.03, 13:11 -
Probleme mit Suchfunktion in Mysql
Von Shadow im Forum PHPAntworten: 5Letzter Beitrag: 11.10.02, 10:52





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren