function deaccent($string) { if (is_array($string)) { foreach ($string as $k => $v) { $out[$k] = deaccent($v); } return $out; } else { return str_replace(array('á', 'é', 'í', 'ó', 'ú', 'ö', 'ő', 'ü', 'ű', 'Á', 'É', 'Í', 'Ó', 'Ú', 'Ö', 'Ő', 'Ü', 'Ű'), array('a', 'e', 'i', 'o', 'u', 'o', 'o', 'u', 'u', 'A', 'E', 'I', 'O', 'U', 'O', 'O', 'U', 'U'), $string); } }
/** * Sanitizes an upload's filename by removing non-alphanumeric characters, deaccenting and * replacing spaces by underscores. * * Example : <code>sanitize_filename('Compte rendu réunion.doc'); // => 'compte_rendu_reunion.doc'</code> */ function sanitize_filename($filename) { $filename = deaccent($filename); $filename = preg_replace('/[^a-z0-9_\\.-\\s]/', '', strtolower($filename)); $filename = preg_replace('/[\\s]+/', ' ', trim($filename)); $filename = str_replace(' ', '_', $filename); return $filename; }