Cleaning out Smart Curly Quotes with PHP

Smart curly quotes are the bane of my life and they most commonly cause grieve when users cut and paste from Microsoft Word into a web form and you end up with the funny box shapes.

This code was on toao.net and I've just added it to a function.


function cleanCurlies($string){
 $string = str_replace(array("\xe2\x80\x98", "\xe2\x80\x99", "\xe2\x80\x9c", "\xe2\x80\x9d", "\xe2\x80\x93", "\xe2\x80\x94", "\xe2\x80\xa6"), array("'", "'", '"', '"', '-', '--', '...'), $string);
 // Next, replace their Windows-1252 equivalents.
 $string = str_replace(array(chr(145), chr(146), chr(147), chr(148), chr(150), chr(151), chr(133)), array("'", "'", '"', '"', '-', '--', '...'), $string);
 return $string;
}

Original found here: http://www.toao.net/48-replacing-smart-quotes-and-em-dashes-in-mysql