Как посчитать количество символов в строке PHP

Итак, хотел бы рассказать о том как правильно считать количество символов в строке. На днях писал поисковую систему для одного веб проекта. И для различного рода исключительных ситуаций необходимо было выводить сообщения пользователю о длине запроса. Вроде бы что могло быть проще. Использовать php функцию strlen() которая примет строку для подсчета количества символов и вернет то самое количество символов в строке. Но не все так просто как кажется. На самом деле strlen не всегда вернет тот результат который мы от нее ждем. К примеру если я пишу strlen(‘бо’) я получаю не 2 как это вроде должно быть, а 4. Функция strlen не учитывает кодировку строки.

Для вычисления длины строки в кодировке utf-8 правильно использовать функцию iconv_strlen() которая вторым параметром принимает кодировку строки. Если кодировка строки не указана, то будет использована та, которая указана в php.ini в параметре iconv.internal_encoding . Я советую всегда писать ту кодировку с которой вы работаете и не надеяться на параметр к конфиге php. Потому что может случится что завтра вы смените хостинг и там будет совершенно другая кодировка iconv. У меня к примеру строка эта вообще была закомментирована ;iconv.internal_encoding = ISO-8859-1.

Один ответ на “Как посчитать количество символов в строке PHP”

Добавить комментарий для osadchijjj Отменить ответ