Механизм перегрузки функций &warn.deprecated.feature-7-2-0.removed-8-0-0; Зачастую заставить работать существующее PHP-приложение в многобайтовом окружении становится трудоёмкой задачей. Причина состоит в том, что большую часть PHP-приложений написали со стандартными функциями обработки строк наподобие substr, которые не умеют работать со строками в многобайтовых кодировках. Модуль mbstring поддерживает механизм «перегрузки функций», который сообщает приложению о работе с многобайтовой кодировкой, без модификации кода, который отвечает за работу со строками. Например, при включении перегрузки функций вместо функции substr вызывается функция mb_substr. Этот механизм часто помогает переносить в многобайтовое окружение приложения, которые поддерживают только однобайтовые кодировки. Для активации механизма перегрузки функций потребуется задать настройке mbstring.func_overload в &php.ini; положительное значение, которое представляет собой комбинацию битовых масок для определения категорий функций, которые требуется перегружать. Число 1 перегружает функции mail, 2 — строковые функции, 4 — функций регулярных выражений. Например, если значение настройки равно 7, то почтовые, строковые и функции регулярных выражений станут перегружаться. Список перегружаемых функций приведён ниже. Функции, которые перегрузятся значение настройки mbstring.func_overload исходная функция перегруженная функция 1 mail mb_send_mail 2 strlen mb_strlen 2 strpos mb_strpos 2 strrpos mb_strrpos 2 substr mb_substr 2 strtolower mb_strtolower 2 strtoupper mb_strtoupper 2 stripos mb_stripos 2 strripos mb_strripos 2 strstr mb_strstr 2 stristr mb_stristr 2 strrchr mb_strrchr 2 substr_count mb_substr_count
Не рекомендуется включать перегрузку функций в контексте каждой директории, так как добиться стабильной работы в такой конфигурации пока не получилось, а поведение приложения становится неожиданным.