CookieBuster
Erfahrenes Mitglied
PHP:
<?php
error_reporting(0);
// Die Datei durchgehen und alle Einträge in ein Array speichern
$Presidents = fopen("presidents.txt", r);
while(!feof($Presidents)) {
$PresidentArray[] = fgets($Presidents, 1024);
}
fclose($Presidents);
// Alle Buchstaben klein schreiben
foreach($PresidentArray As $key => $val) {
$LowerPresidents[] = strtolower($val);
}
?>
<div style="padding-top:15%;">
<center>
<form action="." method="POST">
Suche:
<input type="text" name="SearchRequest" size="50">
<input type="submit" name="search" value="Suchen">
</form>
</center>
</div>
<?php
// Prüfen ob das Forumlar abgesendet wurde
if(!isset($_POST['search'])) {return FALSE;}
// Leerzeichen am Anfang und am Ende entfernen
$SearchRequest = trim($_POST['SearchRequest']);
// Prüfen ob ein Leerer String abgeschickt wurde
if(empty($SearchRequest)) {return FALSE;}
// Die Länge des Strings speichern
$Lenght = strlen($SearchRequest);
// Alle Leertasten im String entfernen
$SearchRequest = str_replace(" ", "", $SearchRequest);
// Alle Buchstaben klein schreiben
$SearchRequest = strtolower($SearchRequest);
// Für die Suchanfrage den Default-Offset setzen
$NextOffset = 0;
// Zählt wie viele übereinstimmungen gefunden wurden
$Captures = 0;
// Das Outputarray initialisieren
$Output = array();
// Das Array nach der Zeichenfolge durchsuchen
// Für jedes Array Element
foreach($LowerPresidents As $key => $val) {
// Für jedes Zeichen in der SearchRequest-Variable
for($i = 0; $i < $Lenght; $i++) {
// Prüfen ob das Aktuelle Zeichen Vorhanden ist und die Position als nächstes Offset speichern
$NextOffset = strpos($val, $SearchRequest[$i], $NextOffset);
// Wenn das Zeichen nicht gefunden wurde beenden
if($NextOffset === false) {continue;}
$Captures += 1;
if($Captures == $Lenght) {$Output[] = $key; continue;}
$NextOffset++;
}
unset($Captures);
}
// Ausgabe des Ergebnisses
echo "<center>";
if(empty($Output)) {echo "<div style='font-size:120%;color:#235;'>Es wurden keine Ergenisse gefunden</div>";return FALSE;}
foreach($Output As $key => $val) {
echo "<div style='font-variant:small-caps;font-weight:bold;'>";
echo $PresidentArray[$val];
echo "</div>";
echo "<br />";
}
echo "</center>";
?>
Ich sollte noch die Buchstaben markieren...