Surbma
5/26/2017 - 10:40 AM

WordPress - Clean filenames from special characters on upload

WordPress - Clean filenames from special characters on upload

<?php

add_filter( 'sanitize_file_name', 'surbma_clean_file_names', 10 );
function surbma_clean_file_names ( $filename ) {
    $tmp = explode( '.', $filename );
    $ext = end( $tmp );
    $file = substr( $filename, 0, -( strlen( $ext )+1 ) );
    $file = str_replace(' ', '-', $file);
    $file = str_replace('_', '-', $file);
    $file = str_replace('.', '-', $file);
    $file = preg_replace('/-+/', '-', $file);
    $file = remove_accents( $file );
    $file = preg_replace('/[^A-Za-z0-9\-]/', '', $file);
    $file = strtolower( $file );
    return $file . '.' . $ext;
}