Многобайтовая безопасная обрезка строки до заданной длины байта

У меня есть строка, которая может содержать многобайтовые символы. Эта строка имеет ограничение максимальной длины байта. Как я могу реализовать это ограничение без разделения многобайтового символа?

Например. ограничение «x����» максимум 7 байтами («��» — 4 байта). Правильный результат будет «x��», что составляет 5 байтов.

Тривиальный substr("x����", 0, 7) сломал бы строку. Также тривиально mb_substr("x����", 0, 7) вернул бы «x����», что составляет 9 байтов.

2

Решение

mb_strcut () является эквивалентом mb_substr (), но на уровне байтов.

Разве это не решает твою проблему?

http://php.net/manual/en/function.mb-strcut.php

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]