if - problem

F

Franki80

$wetterimg behinhaltet bewölkt

if ($wetterimg == bewölkt) {$wetterimg = "bewoelkt";}

Warum bekomme ich als Ergebnis bewölkt und nicht bewoelkt?
 
Da ist ja alles Falsch...
Ersteinmal müsste es 'bewölkt' oder "bewölkt" heißen.
Außerdem willst du sicher wissen ob es im Array vorhanden ist, also in_array nutzen...

Und was ist für dich ein Ergebnis ?

Ich würde eher denken das du ein fehler bekommst, wegen den Fehlenden Anführungszeichen.

EDIT : oder meinst du mit beinhaltet das es gleich ist ? Dann musst du natürlich kein in_array nutzen.
 
die variable $wetterimg beinhaltet immer nur ein wort, z.B. bewölkt, dichternebel...


nun möchte ich der variable $wetterimg je nach inhalt ein neues wort geben(überschreiben)

if ($wetterimg == dichternebel) {$wetterimg = "nebel";}
if ($wetterimg == bewölkt) {$wetterimg = "bewoelkt";}

bei "dichternebel" funktioniert alles, warum bei "bewölkt" nicht?
 
wenn ich "ö" durch "oe" ersetzte geht alles...

warum kann ich ich nicht mit "ö" vergleichen?
 
wenn ich bei mir die variable mit $wetterimg = 'bewölkt'; setzte geht es bei mir.

wenn ich meine variable aber aus dem programm heraus setzte geht es nicht..
obwohl echo "$wetterimg"; bewölkt ergibt...

ich versteh die welt nicht mehr :-(


Ach ja ich nutzte UTF-8
 
Kannst du nicht einfach dein Programm posten ?

EDIT : Bzw. wird wirklich ö ausgegeben oder steht im Quelltext auf der ausgelieferten Seite ö ?
 
Zuletzt bearbeitet:
Lösung!

Die Umlaute kommen als UTF-8 an. Das bedeutet, dass "ö" in php als "ö" verabeitet wird.
Auch wenn es bei der Ausgabe als "ö" dargestellt wird.

Mit str_replace muss also erst mal die UTF-8 Geschichte ausgeglichen werden.

$wetterimg = str_replace('ö','ö',$wetterimg);
$wetterimg = str_replace('ä','ä',$wetterimg);
$wetterimg = str_replace('Ä','Äe',$wetterimg);
...
if ($wetterimg == 'dichternebel') {$wetterimg = "nebel";}
if ($wetterimg == 'bewölkt') {$wetterimg = "bewoelkt";}



Danke für die Hilfe!
 
Zurück