Одной из причин неработоспособности функции mb_regex_encoding(), и как следствие — возникновения фатальной ошибки в php скрипте:
Fatal error: Call to undefined function mb_regex_encoding()
может быть то, что php не поддерживает Multi-byte функций.
Чтобы исправить это — нужно в конфигурационном php-файле php.ini добавить/раскомментировать extension — php_mbstring.
В операционной системе Windows это будет выглядеть так:
extension=php_mbstring.dll
После этого не забудьте перезапустить ваш веб-сервер.
А еще может быть, что php ниже версии 4.2.0:)
И вообще, для любой функции, начинающейся на mb_, нужно включить мультибайтовую поддержку.
Альтернатива, сделать оверлоад (http://php.net/manual/en/mbstring.overload.php), то есть включить поддержку юникода в обычных функциях. А поскольку юникод будет по дефолту поддерживаться в php6, второй вариант даже предпочтительней.
Стас, огромное спасибо за комментарий. Теперь суть проблемы более ясна.