le espressioni regolari sono potentissime, ma cavolo per impararle sto impazzendo...
questo è una buona occasione per esercitarsi

Codice PHP:
<?
$stringa
="%12d->rosso%";
$criterio="/%12d->([a-z]+)%/";
preg_match_all($criterio,$stringa,$array_risultati);
print_r($array_risultati);
?>
tradotta in parole povere questa espressione cerca una parola che sia formata da uno o + caratteri dalla a alla z (minuscoli) a patto che questi siano preceduti dalla stringa '%12d->' e seguiti da '%'.