Chcę uruchomić skrypt sprzed dwóch lat

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in ...
A we wskazanej linii widnieje taka oto funkcja:
{ return preg_replace(array('/(^|_|-)+(.)/e', '/\.(.)/e'), array("strtoupper('\\2')", "'_'.strtoupper('\\1')"), $id); }
Próbowałem to zrobić jak poniżej:
function($matches){ } , $id);
ale nie działa.
Proszę o pomoc jak podmienić preg_replace na preg_replace_callback