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, 3932 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 ..
Ä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 ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (7)

Frage von zelamedia zum Thema Internet Domänen ...

Microsoft Office
Übertrag in eine andere Tabelle (6)

Frage von charmeur zum Thema Microsoft Office ...