|
Механизм перегрузки функцийЗачастую заставить работать существующее PHP-приложение в многобайтном окружении оказывается довольно трудной задачей. Это происходит, потому что большинство PHP-приложений написано с использованием стандартных функций обработки строк, таких как substr(), которые не умеют работать со строками в многобайтных кодировках. mbstring поддерживает механизм 'перегрузки функций', который позволяет сообщить приложению о том, что используется многобайтная кодировка, без модификации кода, отвечающего за работу со строками. Например, если включена перегрузка функций, то функция mb_substr() будет вызываться вместо substr(). Этот механизм во многих случаях позволяет портировать приложения, поддерживающие только однобайтные кодировки, в многобайтное окружение. Для использования механизма перегрузки функций нужно задать настройке mbstring.func_overload в php.ini положительное значение, которое представляет собой комбинацию битовых масок, определяющих категории функций, которые нужно перегружать. Это будет число 1 для перегрузки функции mail(). 2 для строковых функций, 4 для функций регулярных выражений. Например, если значение настройки равно 7, то почтовые, строковые и функции регулярных выражений будут перегружаться. Список перегружаемых функций приведен ниже.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||