
95718
29.11.2010
Suchbegriff in HTML eingeben- txt Datei durchsuchen und dann in html zurückgeben
Hallo Leute ich versuche mich seit mehreren Tagen schon an folgendem Problem:
Ich habe eine Internetseite und möchte dort eine Suchfunktion einbinden.
Es soll letztendlich so aussehen:
Jemand gibt auf der html Seite einen Suchbegriff ein und dieses Kürzel/Begriff wird in einer txt.Datei gesucht. Dort wird dann die komplette Zeile in dem dieser vorhanden ist auf die Html Seite zurückgegeben.
Habe das letzte Woche schon per Javascript und ohne externe txt.Datei versucht bin jedoch nicht zu dem Ergebnis gekommen welches ich gerne gewollt hätte
Hoffe ihr könnt mir helfen....
Danke schonmal im Voraus
Ich habe eine Internetseite und möchte dort eine Suchfunktion einbinden.
Es soll letztendlich so aussehen:
Jemand gibt auf der html Seite einen Suchbegriff ein und dieses Kürzel/Begriff wird in einer txt.Datei gesucht. Dort wird dann die komplette Zeile in dem dieser vorhanden ist auf die Html Seite zurückgegeben.
Habe das letzte Woche schon per Javascript und ohne externe txt.Datei versucht bin jedoch nicht zu dem Ergebnis gekommen welches ich gerne gewollt hätte
Hoffe ihr könnt mir helfen....
Danke schonmal im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 155941
Url: https://administrator.de/forum/suchbegriff-in-html-eingeben-txt-datei-durchsuchen-und-dann-in-html-zurueckgeben-155941.html
Ausgedruckt am: 06.04.2025 um 05:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo.
Sowas geht eigentlich mit PHP ganz einfach, da du dort auch die Formatierung anpassen kannst etc...
vorgehensweise:
Feld via Get oder Post an Variable ausgeben.
via fopen die Datei öffnen,
<?php
$handle = fopen("zaehler.txt","r");
$n = fgets($handle,1000);
fclose($handle);
echo $n;
?>
ist ein Methode.
bei der Ausgabe kannst du dir dann viel überlegen,
kannst z.b. die Ausgabe mit HTML "verschönern"
beispiel: echo "<div class='formatierung' ".$Ausgabe ."</div><br>";
so hast du eine einfache ausgabe.
allerdings kannst du da auch noch sehr viel bei der Ausgabe ausbasteln, wie das geht kannst du bei php.net lesen...
hoffe konnte dir weiterhelfen.
Sowas geht eigentlich mit PHP ganz einfach, da du dort auch die Formatierung anpassen kannst etc...
vorgehensweise:
Feld via Get oder Post an Variable ausgeben.
via fopen die Datei öffnen,
<?php
$handle = fopen("zaehler.txt","r");
$n = fgets($handle,1000);
fclose($handle);
echo $n;
?>
ist ein Methode.
bei der Ausgabe kannst du dir dann viel überlegen,
kannst z.b. die Ausgabe mit HTML "verschönern"
beispiel: echo "<div class='formatierung' ".$Ausgabe ."</div><br>";
so hast du eine einfache ausgabe.
allerdings kannst du da auch noch sehr viel bei der Ausgabe ausbasteln, wie das geht kannst du bei php.net lesen...
hoffe konnte dir weiterhelfen.
Hi ChrischiB-OVP,
folgendes Skript wäre eine Möglichkeit, allerdings habe ich jetzt einfach mal vorausgesetzt,
dass ein Begriff in mehreren Zeilen vorkommen kann. Die Funktion in dem Skript gibt deshalb ein
Array zurück, in dem eine oder mehr Zeilen gespeichert sind. Falls das nicht der Fall sein sollte, dass
ein Begriff in mehreren Zeilen vorkommen kann, wird eh' nur eine Zeile zurückgegeben.
Zum Prüfen, ob ein Begriff in einer Zeile vorkommt, habe ich die Funktion strpos verwendet, weil die
Funktion auch Begriffe findet, von denen nur ein Teil eingegeben wurde, z.B. Suche nach "win" findet
"windows" "winter" "windeln" etc..
Weitere Funktionen findest du hier ==> http://de.php.net/manual/de/book.strings.php
Gruß
Günni
folgendes Skript wäre eine Möglichkeit, allerdings habe ich jetzt einfach mal vorausgesetzt,
dass ein Begriff in mehreren Zeilen vorkommen kann. Die Funktion in dem Skript gibt deshalb ein
Array zurück, in dem eine oder mehr Zeilen gespeichert sind. Falls das nicht der Fall sein sollte, dass
ein Begriff in mehreren Zeilen vorkommen kann, wird eh' nur eine Zeile zurückgegeben.
Zum Prüfen, ob ein Begriff in einer Zeile vorkommt, habe ich die Funktion strpos verwendet, weil die
Funktion auch Begriffe findet, von denen nur ein Teil eingegeben wurde, z.B. Suche nach "win" findet
"windows" "winter" "windeln" etc..
Weitere Funktionen findest du hier ==> http://de.php.net/manual/de/book.strings.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Worte in Textdateien suchen</title>
</head>
<body>
<!--
Ein Formular zur Eingabe
/-->
<form action="" method="post">
<input type="text" name="suche">
<input type="submit" name="cmd" value="Suchen">
</form>
<?php
function findwort($wort=""){
/*
* Wenn wort leer ist, Funktion beenden.
*/
if(strlen($wort)==0){
$gef_zeilen="Geben sie einen Suchbegriff ein";
return $gef_zeilen;
}
/*
* Datei zeilenweise in ein Array einlesen.
* 80 ist die Zeilenlänge, erhöhen falls nötig.
*/
$i=0;
$f=fopen("firewall.txt","r");
while($line=fgets($f,80)){
$text_lines[$i]=$line;
$i++;
}
fclose($f);
/*
* Zeilenweise das Array mit der Funktion strpos durchsuchen.
* strpos arbeitet case-sensitiv, deshalb werden mit strtolower
* alle Groß- in Kleinbuchstaben umgewandelt.
*/
$i=0;
while($i<count($text_lines)){
$pos = strpos(strtolower($text_lines[$i]),strtolower($wort));
if($pos === false){
/*
* Wenn $pos false ist, tue nichts!!
*/
}else{
$gef_zeilen[$i]="Der Suchbegriff \"$wort\" wurde in Zeile ".($i+1)." an Position $pos gefunden ==> ".htmlspecialchars($text_lines[$i]);
}
$i++;
}
/*
* count zählt die Elemente im Array.
*/
if(count($gef_zeilen)>0){
return $gef_zeilen;
}else{
$gef_zeilen="Der Suchbegriff \"$wort\" wurde nicht gefunden";
return $gef_zeilen;
}
}
/*
* Ist das Formular gesendet, gibt die Funktion ein Array zurück, deshalb mit foreach ausgeben.
*/
if(isset($_POST['suche'])){
$erg=findwort($_POST['suche']);
foreach($erg as $zeile){
echo "<p>$zeile</p>";
}
}
?>
</body>
</html>
Gruß
Günni