verfaßt von Johann, 17.06.2018, 15:11:42
(editiert von Johann, 17.06.2018, 15:15:03)
> Das kommt noch dazu... Ich gucks mir nachher an. Das Zählen ist ja o.k. -
> auch wenn die erlaubte Anzahl mit/durch Umlaute verkürzt wird.
Tipp: Du möchtest ja auf die konkrete Zeichenlänge und nicht Bytelänge testen. Wenn z.B. UTF-8 der Kontext ist, dann kann man mit den multibyte Funktionen arbeiten. mb_strlen in diesem Fall.
Beispiel:
if(mb_strlen($string,'UTF-8') < 70) { ... } else { ... }
Kritisch wird's beim automatischen Kürzen derlei Strings. Wenn's da am Ende einen UTF-8 Kode halbiert hat man inkonsistente Daten. Da arbeitet man dann vorzugsweise mit mb_substr.
$gekuerzt = mb_substr($string,0,70, 'utf-8');
gesamter Thread: