Usa un array asociativo:
Código PHP:
$array_smiles=array(":)"=>"risa.gif",":("=>"triste.gif");
Ahora recorre el array asociativo con un bucle (foreach() para estas cosa va muy bien ..) y aplica tu str_replace() a cada pasada del bucle ..
Código PHP:
foreach ($array_smiles $smile=>$img){
$texto=str_replace($smile,$img,$texto);
}
A todo esto .. llegado este punto sería bueno que vieses como hacer esto mismo pero con expresiones regulares (eregi_replace() .. o preg_match_all() y funciones afines ..) Sería mucho más rápido que este bucle y el str_replace() ..
Un saludo,