( and ) are special characters .....
they need to be escaped... i think originally GSHelpBoy did quote them... but for this forum... you need two slashes for one to appear on screen, so his just showed up wrong
now for what you are doing you don't need a regular expression, look into [man]str_replace[/man]....
check out this example (for yours change 8=<img /> and }=<img />:
<?php
# happy faces
header('Content-type: text/plain');
$string = ' :( :) :) :):) :( ';
$replace = '8}';
$pregex = '/:\\)/';
$preg_string = preg_replace( $pregex, $replace, $string );
$find = ':)';
$str_string = str_replace( $find, $replace, $string );
print $preg_string;
print $str_string;
?>