Natürlich wird es ersetzt. Das hättest du durch Befolgen aller meiner Hinweise eigentlich sehen sollen. Geh doch nochmal Zeile für Zeile durch und verdeutliche dir, was sie macht. Dann findest du auch die Ausgabe, die für das _zusätzliche_ DE verantwortlich ist.
Ich habe jetzt einen zweiten Spieler eingesetzt der aus der Schweiz kommt. Die Flagge bleibt aber Deutschland. Wenn ich nun im selben Feld ein zweiter "str_replace" mit CH und der Schweizer Flagge setze, dann habe ich zwei Flaggen...
Langsam bin echt ratlos...