Various repair places can do it but you'll need to contact them for pricing. Google is your friend here. If the repair is done through Apple, they will replace the entire phone and not repair it. I believe it's a fixed $149 repair rate for the standard 4 and $199 for the 4S.
If anyone other than Apple touches the iPhone the warranty will be void and
any further assistance from Apple