Use preg_replace_callback