preg_replace("/HEIGHT\: (.*?)/","HEIGHT: цифра", $str)

Нет, в таком случае надо цифру писать. Да и заменить он всё, что пойдет после HEIGHT. (.*?) по сути дела до самого конца. Без ограничение.

Лучше такое решение. Везде где попадется в тексте конструкция HEIGHT:[цифры] заменить на HEIGHT:эти же цифры.

Код:
$str="HEIGHT:[1232]; WIDTH:[34545];";
$rezult=eregi_replace("HEIGHT:(\[)([0-9]+)(\])","HEIGHT:\\2",$str);
echo $rezult;
используется REGXP.

Если же треба всё перебрать, то
Код:
$str="HEIGHT:[1232]; WIDTH:[34545];";
$rezult=eregi_replace("(HEIGHT|WIDTH):\[([0-9]+)\]","\\1:\\2",$str);
echo $rezult;
В конструкции где (HEIGHT|WIDTH) вы можете катать что угодно HEIGHT|WASYA|WIDTH и т.д. В итоге название:[цифры] меняется на название:цифры .... всё.