Решение проблемы с обрезанием строки через substr()

Главная / Блог / Решение проблемы с обрезанием строки через substr()

Возникла такая проблема, что при обрезании строки при помощи substr(), в конце полученной обрезанной строки появляется символ в виде квадратика или знака вопроса, что появляются если браузер не может распознать символ. Выглядит это не очень красиво, да и оставлять такое не есть правильно. А посему и решение нашлось, чтобы подфиксить такое явление. Надеюсь это упростит вам жизнь.

 

Решается проблема, если использовать для обрезания utf-8 строк функцию mb_substr().


Например так:

// указываем кодировку
mb_internal_encoding("UTF-8");
 
$str = 'Строка в кодировке utf-8';
$str = mb_substr($str, 0, 17);

   

В результате получим красиво обрезанную строку.

Таким же способом можно использовать mb_strlen(), mb_strpos() и другие.

Архив
08 октября 2011 в 17:38