grazie Marketto

in pratica generi l'array $temp a cui vengono assegnate solo le variabili

quindi ne esegui il foreach assegnando a check i valori dell'array

Giusto?

Una domanda, ma la riga:

$temp=explode("#",preg_replace("/(%1check)[0-9](-> )/","#",$string));

è corretto scriverla così:

$temp=explode("%",preg_replace("/(%[0-9] check)[0-9](-> )/","#",$string));

perchè varia anche il numero prima di check.