Sorry das es so lange gedauert hat. Da ich krank war und kaum kraft hatte um was zu tippen
Aber ich glaub meine Lösung ist lächerlich
^^


PHP:
/*
Kommentierung @_@
Beispiel:
Zeile 12-24:
29: $qry wird escaped.
30: Ein "+" im Query wird gelöscht.
34-41: Hier wird die Liste einmal durchlaufen und die
Muster werden gesammelt.
Wie z.B
$arr0 = "Geo",
$arr1 = "ton",
$arr2 = "George Washington",
$arr3 = "GW" # Alle kleinbuchstaben werden entfernt
Zeile 26-33:
Anstatt einer if-Abfrage hab ich die
"Drei Operator Schreibweise" benutzt
(ich hoffe, dass es so genannt wird :D)
Hier werden natürlich alle Präsidenten durchlaufen
und bei einer Übereinstimmung
wird der Gefundene ausgegeben.
*/
PHP:
<?php
$gf = file('presidents.txt');
if(isset($_POST['qry'])) {
$arr0 = array();
$arr1 = array();
$arr2 = array();
$arr3 = array();
$qry = htmlspecialchars($_POST['qry']);
$qry = preg_replace("~[\x2b]~",'',$qry);
// Muster sammeln
for($i = 0; $i < count($gf); ++$i) {
$arr0[] = substr($gf[$i],0,3);
$arr1[] = substr($gf[$i],-5,3); // Unsicher.........................
$arr2[] = $gf[$i];
$arr3[] = preg_replace("~[^\x41-\x5a]~",'', $gf[$i]);
}
for($i = 0; $i < count($gf); ++$i) {
echo preg_match("~".$arr0[$i]."~", $qry) || preg_match("~".$arr1[$i]."~", $qry)
|| preg_match("~".$qry."~", $arr2[$i]) || $qry === $arr0[$i]
|| $qry === $arr1[$i] || $qry == $arr3[$i]
?'Match found : '. $arr2[$i].'<br />' : '';
}
}
?>
<html>
<head>
<title>Tutorials.de QUIZ #1 (PHP)</title>
</head>
<body>
<form method="post" action="index.php" accept-charset="utf-8" >
<input name="qry" value="Suchbegriff" OnClick="this.value=''" />
</form>
</body>
</html>
Zuletzt bearbeitet: