str_replace allerdings jede ersetzte Zeichenfolge hochzählen

Ich möchte Platzhalter mit „str_replace“ ersetzen.
Dabei soll jedes Vorkommen des Platzhalters (XXX) mit einem Input-Textfeld ersetzt werden, wobei jedes Textfeld eine eigene Bezeichnung bekommt, d.h. der Name des Input-Feldes müsste z.B. input_1, input_2 usw… lauten.

Gibt es dafür eine geeignete Funktion?

So ganz spontan würde ich vorschlagen dass in ner for each schleife zu machen.

Grüße