Revertir preg_replace

Tengo expresiones regulares como esta:

^page/(?P<id>\d+)-(?P<slug>[^\.]+)\.html$

y una matriz:

$args = array(
    'id' => 5,
    'slug' => 'my-first-article'
);

Me gustaría tener la función:

my_function($regex, $args)

que devolverá este resultado:

page/5-my-first-article.html

¿Cómo se puede lograr esto?

Algo comohttps://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse

Respuestas a la pregunta(1)

Su respuesta a la pregunta