preg_match("#<td width=100><a href='\/games\/(.*)'><img src='http:\/\/images\\.neopets.com\/new_games\/n(.*)' width=100 height=100 border=0></a></td>#i", $html, $match);
Because you're using # for your pattern delimiter, you don't need to escape the '/'.
Warning: preg_replace(): Delimiter must not be alphanumeric or backslash
None of your patterns (the elements of the $search array) have delimiters, which preg_replace() is expecting for the first character; and 'w', 'h', and 'b' can't be used as delimiters.
But [man]str_ireplace[/man] would be more efficient there, anyway.