Herausnehmen von Informationen
Michael Schmidt
- php
Hallo,
ich mache gerade ein Quiz mit PHP und die Antworten und Fragen sollen
in Textdateien mit einer kleinen Codesprache enthalten sein.
Die Textdateien sollen in dieser Form Informationen enthalten:
(Frage:1)Was ist HTML ???(/Frage)
(Antwort:1a)Eine Ausziechnungssprache(/Antwort)
(Antwort:1b)Spargelgericht(/Antwort)
(Antwort:1c)Weinmarke(/Antwort)
(Antwort:1d)Seee in Ungarn(/Antwort)
(Frage:2)Was ist WML ???(/Frage)
(Antwort:2a)Eine Ausziechnungssprache fuer W@p-Handys(/Antwort)
(Antwort:2b)Spargelgericht(/Antwort)
(Antwort:2c)Weinmarke(/Antwort)
(Antwort:2d)Seee in Ungarn(/Antwort)
Wie kann ich jetzt nun aber die Infos aus dieser
Datei in Variablen schreiben ???
Ich bin echt verzweifwelt und habe schon alles mgl. ausprobiert.
M.f.G. Micha
Hi,
ich mache gerade ein Quiz mit PHP und die Antworten und Fragen sollen
in Textdateien mit einer kleinen Codesprache enthalten sein.
Die Textdateien sollen in dieser Form Informationen enthalten:
(Frage:1)Was ist HTML ???(/Frage)
(Antwort:1a)Eine Ausziechnungssprache(/Antwort)
(Antwort:1b)Spargelgericht(/Antwort)
(Antwort:1c)Weinmarke(/Antwort)
(Antwort:1d)Seee in Ungarn(/Antwort)
(Frage:2)Was ist WML ???(/Frage)
(Antwort:2a)Eine Ausziechnungssprache fuer W@p-Handys(/Antwort)
(Antwort:2b)Spargelgericht(/Antwort)
(Antwort:2c)Weinmarke(/Antwort)
(Antwort:2d)Seee in Ungarn(/Antwort)
Wie kann ich jetzt nun aber die Infos aus dieser
Datei in Variablen schreiben ???
Versuchs mal mit dem hier:
$input = file('/path/to/file');
$save = Array();
for($i=0,$j=-1;$i<count($input);$i++)
{
if(preg_match('!^(Frage: ([0-9]+))(.*)(/Frage)$!',$input[$i],$matches))
{
$output[++$j] = Array(Array(nr => $matches[1], question => $matches[2]));
} elseif(preg_match('!^(Antwort:([^)]+)(.*)(/Antwort)$!',$input[$i],$matches)) {
$putput[$j][] = Array(nr => $matches[1], answer => $matches[2]);
}
}
Dann kriegst du so eine Struktur:
$output[0][0]['nr'] = 1;
$output[0][0]['question'] = "Was ist ....";
$output[0][1]['nr'] = '1a';
$output[0][1]['answer'] = "die entsprechende erste antwort";
....
Gruss,
Christian