Ich danke euch, alles funktioniert reibungslos und lies sich wunderbar implementieren!
Mein code sieht nun wie folgt aus:
[code]<?php
Schlagwörter und Anzahl
$schlag[0]=‘wetter’;
$anzahl[0]=0;
$schlag[1]=‘sommer’;
$anzahl[1]=0;
$schlag[2]=‘1910’;
$anzahl[2]=0;
zu analysierender Text:
$text = $_POST[‘textarea’];
$klein = strtolower($text);
Schleife zur Analyse:
for ($i = 0; $i <= 2; $i++) {
$anzahl[$i]=substr_count($klein, $schlag[$i]);
}
Auswerten z.B. so:
if (($anzahl[0]>0) AND ($anzahl[1]>0) ) {
echo “warm”;
}
Auswerten z.B. so:
if (($anzahl[0]>0) AND ($anzahl[1]>0) AND ($anzahl[2]>0) ) {
echo “22°C”;
}
?>[/code]
Dies ist nun ein kleiner Ausschnitt für einen leichten Überblick. Allerdings bin ich schnell auf ein Problem gestoßen.
Gibt man bei obigem Script nun in das Textfeld “Wie war das Wetter im Sommer?” ein so erscheint als Antwort “warm”. Dies ist so weit auch korrekt. Allerdings wenn nun die Eingabe erweiterte wird auf: “Wie warm war das Wetter im Sommer 1910?” so scheint als Antwort “warm22°C” da beide Abfragen zutreffen.
Gibt es irgendeine Möglichkeit dies zu beheben? Man könnte mehre Abfragen verschachteln und genauer Abfragen allerdings bei mehreren zusätzen ergäbe dies unendlich viele Kombinationen weshalb ich diese Lösung nicht begrüße.
Natürlich könnte man festlegen sobald weitere Schlagwörter außer “wetter” und “sommer” gefunden werden die erste Abfrage nicht mehr zutrifft, also das die Abfragen nur zutreffen wenn wirklich nur diese Schlagwörter enthalten wären und keine weiteren. Jedoch mit steigender Anzahl an eingetragenen Schlagwörtern wäre es dann fast unmöglich noch Antworten zu geben da sicherlich in der Frage des Nutzers ein weiteres Schlagwort noch vorkommt.
Hoffe ich konnte das Problem gut beschreiben. Mir fällt einfach kein sauberer Lösungsweg ein der auch mit vielen Schlagwörtern gut funktioniert.
Also eine Art “Nur-Befehl” würde schon helfen, dass eben die Antwort der ersten Abfrage nur dann erscheint wenn nur exakt die beiden Schlüsselwörter Wetter und Sommer vorkommen, kommen weitere Schlüsselwörter vor greift eine andere Abfrage, dies gäbe zwar einige Möglichkeiten wäre aber eine denkbare Lösung. Allerdings ist mir kein PHP-Element bekannt welches dies ermöglicht dass eben exakt diese Schlüsselwörter vorhanden sein müssen und eben nicht nur “unter anderem diese Schlüselwörter vorhanden sein müssen”.
Liebe Grüße
MaxT