<?php
    function format() {
        $args = func_get_args();
        if (empty($args)) {
            return null;
        }
    
        if (count($args) === 1) {
            return $args[0];
        }
    
        $str = array_shift($args);
        $str = preg_replace('#\{(\d+)\}#', '%$1\$s', $str);

        return vsprintf($str, $args);
    }

Uso:

    $str = 'Meu nome eh {1}.
            Sim, o meu nome eh {1}.
            Eu tenho {2} anos de idade.
            {1} {2} {2} {1}';

    echo format($str, 'Wallace', 26);