В моем PHP-коде есть строки, которые нужно обрезать, если они слишком длинные.
Например, если текст выглядит примерно так:
Привет, я хотел бы рассказать вам, как это замечательно.
Это заменит это на:
Привет, я бы хотел ...
Для этого я сделал простой substr
. Проблема в том, что в UTF8 некоторые символы на самом деле состоят из двух символов. И у меня были некоторые проблемы с вырезанным в середине символом: например, когда я пытаюсь вставить измененную строку в базу данных, происходит сбой.
Вот моя текущая функция:
static function short($string, $max = 255){
if(strlen($string) >= $max){
$string = substr($string, 0, $max - 5).'...';
} return $string;
}
Кто-нибудь знает способ заставить эту функцию работать даже для символов UTF8?