Gast: Zeichen in String ändern

Hallo,

wie kann man ein Multibyte-Zeichen in einem String platzieren?

Ich dachte, so:

  $gewerbeart = "          "; // 10 Leerstellen  
  for( $i=0; $i<mb_strlen($row['gewerbeart']); $i++)  
  {  
    if (!mb_substr($row['gewerbeart'],$i,1) || mb_substr($row['gewerbeart'],$i,1) == " " )  
    mb_substr($gewerbeart,$i,1) = "·";  
    else  
    mb_substr($gewerbeart,$i,1) = mb_substr($row['gewerbeart'],$i,1);  
  }  

Das Programm bricht ohne Fehlermeldung ab.

Nun lese ich unter mb_substr:
"mb_substr — Get part of string" Get - nicht put. Wie puttet man?

Gruß, Gast

  1. Tach!

    wie kann man ein Multibyte-Zeichen in einem String platzieren?

    Aus Teilstrings zusammenstückeln. Es gibt keine generelle Möglichkeit, zeichenbasiert auf Strings zuzugreifen. Das geht nur mit 1-Byte-Kodierungen. Wenn die MB-Funktionen nichts zum Einfügen mitbringen (und so sieht es aus, wenn ich mir die Übersicht ansehe), dann wird das nichts werden - außer eben zusammenstückeln.

    mb_substr($gewerbeart,$i,1) = mb_substr($row['gewerbeart'],$i,1);
    Das Programm bricht ohne Fehlermeldung ab.

    Das wundert mich aber, bei mir tut es das.

    dedlfix.