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