Hallo Gemeinde,
habe hier mal wieder ein Problem:
Das folgende Script teilt den Satz ($i) in zwei Teile: In die Zahlen ($numbers) und den Text ($text). Danach wird in einer if-Anweisung geschaut, ob $text gleich „kilometer“ ist, wenn ja, gibt er den dazugehörigen Text aus und verarbeitet $numbers in diesem Text. Wenn $text aber gleich „meilen“ ist, soll er den dazu gehörigen Text ausgeben und $numbers da verarbeiten.
Hier das Script:
$i = „12 meilen“;
$numbers = preg_replace(’=([^0-9 ^.]+)=s’, ‚‘, $i); // Hier „12“
$text = preg_replace(’=([^a-z ^A-Z]+)=s’, ‚‘, $i); // Hier „meilen“
if ($text == meilen OR $text == meile)
{
echo $numbers*1.609;
echo " Kilometer";
}
if ($text == kilometer)
{
echo $numbers/1.609;
echo " Meilen";
}
Nur irgendwie verarbeitet er:
(1) $numbers im Text nicht (nimmt immer 0, obwohl es hier 12 ist)
(2) Funktioniert es generell nur, wenn $i nur Text ist, wenn ich aber die Zeile „if ($text == meilen)“ auf „if ($text = meilen)“ umändere, funktionierts, da wird dann auch $numbers verarbeitet, aber er zeigt mir sowohl den Meilen-Text als auch den Kilometer-Text, und das ist nicht Sinn der Sache.
Hoffe ihr könnt helfen.