- var_dump: documentation ( source)
- vsprintf: documentation ( source)
- preg_replace: documentation ( source)
<?php
$string = "/companies/(\d+)/adverts/new/(\w+)/HERRO/(\d+)/";
$replace = array(2223, 'generic', 1234);
$result = vsprintf(preg_replace('#\(.*?\)#', '%s', $string, count($replace)), $replace);
var_dump($result);