У меня есть строка, которая может содержать многобайтовые символы. Эта строка имеет ограничение максимальной длины байта. Как я могу реализовать это ограничение без разделения многобайтового символа?
Например. ограничение «x» максимум 7 байтами («» — 4 байта). Правильный результат будет «x», что составляет 5 байтов.
Тривиальный substr("x", 0, 7)
сломал бы строку. Также тривиально mb_substr("x", 0, 7)
вернул бы «x», что составляет 9 байтов.
mb_strcut () является эквивалентом mb_substr (), но на уровне байтов.
Разве это не решает твою проблему?
Других решений пока нет …