Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Suchbegriff in HTML eingeben- txt Datei durchsuchen und dann in html zurückgeben

Frage Entwicklung

Mitglied: 95718

95718 (Level 1)

29.11.2010 um 10:42 Uhr, 3931 Aufrufe, 3 Kommentare

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
Mitglied: mohamedalhakim
29.11.2010 um 12:38 Uhr
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.
Bitte warten ..
Mitglied: 95718
29.11.2010 um 14:23 Uhr
Und wo ist dort die "Zeile" mit der ich ihm auf der html-Seite den Suchbegriff gebe----quasi so ein normales Suchfeld.
Irgendwie muss doch eine Eingabe übergeben werden.

Sorry bin in Sachen php echt n Anfänger.....
Bitte warten ..
Mitglied: Guenni
02.12.2010 um 17:57 Uhr
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

01.
 
02.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
03.
<html> 
04.
<head> 
05.
<title>Worte in Textdateien suchen</title> 
06.
</head> 
07.
<body> 
08.
<!--  
09.
Ein Formular zur Eingabe 
10.
/--> 
11.
<form action="" method="post"
12.
<input type="text" name="suche"
13.
<input type="submit" name="cmd" value="Suchen"
14.
</form> 
15.
<?php 
16.
function findwort($wort=""){ 
17.
/* 
18.
* Wenn wort leer ist, Funktion beenden. 
19.
*/ 
20.
 if(strlen($wort)==0){ 
21.
  $gef_zeilen[]="Geben sie einen Suchbegriff ein"
22.
  return $gef_zeilen
23.
24.
/* 
25.
* Datei zeilenweise in ein Array einlesen. 
26.
* 80 ist die Zeilenlänge, erhöhen falls nötig. 
27.
*/ 
28.
$i=0; 
29.
 $f=fopen("firewall.txt","r"); 
30.
 while($line=fgets($f,80)){ 
31.
  $text_lines[$i]=$line
32.
  $i++; 
33.
34.
 fclose($f); 
35.
/* 
36.
* Zeilenweise das Array mit der Funktion strpos durchsuchen. 
37.
* strpos arbeitet case-sensitiv, deshalb werden mit strtolower 
38.
* alle Groß- in Kleinbuchstaben umgewandelt. 
39.
*/ 
40.
 $i=0; 
41.
 while($i<count($text_lines)){ 
42.
  $pos = strpos(strtolower($text_lines[$i]),strtolower($wort)); 
43.
	if($pos === false){ 
44.
	 /* 
45.
	 * Wenn $pos false ist, tue nichts!! 
46.
	 */ 
47.
	}else
48.
				$gef_zeilen[$i]="Der Suchbegriff \"$wort\" wurde in Zeile ".($i+1)." an Position $pos gefunden ==> ".htmlspecialchars($text_lines[$i]); 
49.
50.
  $i++; 
51.
52.
 /* 
53.
 * count zählt die Elemente im Array
54.
 */ 
55.
 if(count($gef_zeilen)>0){ 
56.
  return $gef_zeilen
57.
 }else
58.
 			 $gef_zeilen[0]="Der Suchbegriff \"$wort\" wurde nicht gefunden"
59.
			 return $gef_zeilen
60.
61.
62.
/* 
63.
* Ist das Formular gesendet, gibt die Funktion ein Array zurück, deshalb mit foreach ausgeben. 
64.
*/ 
65.
if(isset($_POST['suche'])){ 
66.
 $erg=findwort($_POST['suche']); 
67.
 foreach($erg as $zeile){ 
68.
  echo "<p>$zeile</p>"
69.
70.
71.
?> 
72.
</body> 
73.
</html> 
74.
 

Gruß
Günni
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (14)

Frage von smartino zum Thema Mac OS X ...