This simple function will remove any non-ASCII character. Feel free to fork and extend!
<?php
/**
* Remove any non-ASCII characters and convert known non-ASCII characters
* to their ASCII equivalents, if possible.
*
* @param string $string
* @return string $string
* @author Jay Williams <myd3.com>
* @license MIT License
* @link http://gist.github.com/119517
*/
function convert_ascii($string)
{
// Replace Single Curly Quotes
$search[] = chr(226) . chr(128) . chr(152);
$replace[] = "'";
$search[] = chr(226) . chr(128) . chr(153);
$replace[] = "'";
// Replace Smart Double Curly Quotes
$search[] = chr(226) . chr(128) . chr(156);
$replace[] = '"';
$search[] = chr(226) . chr(128) . chr(157);
$replace[] = '"';
// Replace En Dash
$search[] = chr(226) . chr(128) . chr(147);
$replace[] = '--';
// Replace Em Dash
$search[] = chr(226) . chr(128) . chr(148);
$replace[] = '---';
// Replace Bullet
$search[] = chr(226) . chr(128) . chr(162);
$replace[] = '*';
// Replace Middle Dot
$search[] = chr(194) . chr(183);
$replace[] = '*';
// Replace Ellipsis with three consecutive dots
$search[] = chr(226) . chr(128) . chr(166);
$replace[] = '...';
// Apply Replacements
$string = str_replace($search, $replace, $string);
// Remove any non-ASCII Characters
$string = preg_replace("/[^\x01-\x7F]/", "", $string);
return $string;
}
?>