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);
    }
}
Example #2
0
/**
 * 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;
}