substr_replace - deutsche Umlaute werden falsch dargestellt

  • Hallo.

    Ich habe folgendes Problem: Ich möchte in einer Zeichenkette einen Teil ersetzen und verwende dafür die Funktion substr_replace. Leider trennt diese Funktion in Bytes anstatt Zeichen. Das funktioniert prima, wenn ein Zeichen 1 Byte belegt. Das ist jedoch bei den deutschen Umlauten nicht der Fall. Die Umlaute belegen 2 Bytes. Die zusammengehörigen Bytes werden getrennt, sodass ich bei einer Ausgabe Fragezeichen statt der Umlaute bekomme. Dabei ist substr_replace die geeignetste Funktion von allen. str_replace oder mb_substr führen nicht zum gewünschten Ergebnis. Kennt ihr vielleicht einen Trick, wie man substr_replace mit Multibyte-Zeichen verwenden kann?

    Vielen Dank.

  • Da war eine Lösung mit substr etc. aber ich habe mal selbst etwas ausgearbeitet:

  • Da war eine Lösung mit substr etc. aber ich habe mal selbst etwas ausgearbeitet:

    Es funktioniert tatsächlich.

    Danke für deine Mühe.