Hi,
war mir jetzt nicht sicher, ob es ins Schulforum oder Programmierungsforum gehört, aber hab mich dann für dieses entschieden, da ich denke, dass hier eher Programmierer über meinen Thread stolperrn
Also, das ist die Aufgabe:
und das jetzt mein quellcode:
was meint ihr, ist das ok so? ODer hab ich mal wieder irgendwas in der Aufgabe übersehen...passiert mir öfter :-/
Wird morgen bewertet, bitte mal comment dazu, thx!
Verbesserungsvorschläge gern gesehn
war mir jetzt nicht sicher, ob es ins Schulforum oder Programmierungsforum gehört, aber hab mich dann für dieses entschieden, da ich denke, dass hier eher Programmierer über meinen Thread stolperrn
Also, das ist die Aufgabe:
Aufgabe
Entwickeln Sie ein PHP-Skript mit folgender Funktionalität:
die Datei Text.txt im Verzeichnis des Skriptes wird eingelesen,
im Text werden alle Umlaute und das ß ersetzt,
alle Großbuchstaben werden durch Kleinbuchstaben ersetzt,
alle Zeichen außer den Buchstaben a bis z werden durch einen Leerschritt ersetzt,
alle Worte, die länger als drei Zeichen sind werden in einer Liste (Array) gespeichert und auf einer Webseite ausgegeben.
und das jetzt mein quellcode:
PHP:
<?
//Textdatei testtext.txt wird geöffnet
$text = "testtext.txt";
$fp = fopen ($text, "r");
//Textdatei testtext.txt wird gelesen
$ausgabe = fread ($fp, filesize ($text));
//Textdatei wird wieder geschlossen
fclose ($fp);
echo"<strong>unbearbeitet:</strong> $ausgabe<br><br>";
// Umlaute & ß werden durch ein Array bestimmt Umlaute & ß => neuer Wert
$array = array('Ä' => 'Ae', 'ä' => 'ae','Ü' => 'Ue', 'ü' => 'ue', 'Ö' => 'Oe', 'ö' => 'oe', 'ß' => 'ss');
//Text wird nach den im Array definierten Zeichen durchsucht und ersetzt
$ergebnis = strtr($ausgabe, $array);
// strtolower wandelt alle Zeichen in Kleinbuchstaben um
$ergebnis=strtolower($ergebnis);
// preg_replace ersetzt alle Zeichen die nicht in der Zeichenfolge von a-z verhanden sind ^a-z
$ergebnis=preg_replace('/[^a-z]/', ' ', $ergebnis);
echo"<strong>Endergebnis:</strong><br>";
// alle Wörter werden einzeln in ein Array eingelesen
$array = explode(' ', $ergebnis);
// Durchlaufkontrolle wird begrenzt, nur so oft durchlaufen, wie auch Wörter vorhanden sind $x < count($array)
for($x = 0; $x < count($array); $x++){
// strlen zählt die Zeichen der Wörter
$laenge = strlen($array[$x]);
// ist ein Wort länger als 3 Zeichen, so wird es angezeigt
if($laenge > 3){ echo"$array[$x]<br>"; }
}
?>
was meint ihr, ist das ok so? ODer hab ich mal wieder irgendwas in der Aufgabe übersehen...passiert mir öfter :-/
Wird morgen bewertet, bitte mal comment dazu, thx!
Verbesserungsvorschläge gern gesehn