Skip to content

Instantly share code, notes, and snippets.

@vickyRuiz
Created May 14, 2014 15:16
Show Gist options
  • Save vickyRuiz/6b67bd6299cf8c1d5f95 to your computer and use it in GitHub Desktop.
Save vickyRuiz/6b67bd6299cf8c1d5f95 to your computer and use it in GitHub Desktop.
PHP: Character normalization
$normalizeChars = array(
'Á'=>'A', 'À'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Å'=>'A', 'Ä'=>'A', 'Æ'=>'AE', 'Ç'=>'C',
'É'=>'E', 'È'=>'E', 'Ê'=>'E', 'Ë'=>'E', 'Í'=>'I', 'Ì'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ð'=>'Eth',
'Ñ'=>'N', 'Ó'=>'O', 'Ò'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O',
'Ú'=>'U', 'Ù'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y',
'á'=>'a', 'à'=>'a', 'â'=>'a', 'ã'=>'a', 'å'=>'a', 'ä'=>'a', 'æ'=>'ae', 'ç'=>'c',
'é'=>'e', 'è'=>'e', 'ê'=>'e', 'ë'=>'e', 'í'=>'i', 'ì'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'eth',
'ñ'=>'n', 'ó'=>'o', 'ò'=>'o', 'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o',
'ú'=>'u', 'ù'=>'u', 'û'=>'u', 'ü'=>'u', 'ý'=>'y',
'ß'=>'sz', 'þ'=>'thorn', 'ÿ'=>'y' , " "=>"-", "¿"=>"", "¡"=>"", "!"=>"", "?"=>"", ","=>"", ";"=>"", "."=>"", ":"=>"",
);
function chareplace ($str, $mode = 0) { /* MODE 0: lowercase - You can add more modes if you like */
global $normalizeChars;
if ($mode == 0) {$string = strtr(strtolower($str), $normalizeChars);}
return $string;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment