Skip to content

Instantly share code, notes, and snippets.

@smeric
Forked from herewithme/sanitize-filename.php
Last active July 15, 2016 23:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smeric/4850e97ff5b2b8e343343e63c2e6bbd8 to your computer and use it in GitHub Desktop.
Save smeric/4850e97ff5b2b8e343343e63c2e6bbd8 to your computer and use it in GitHub Desktop.
WordPress - No french punctuation and accents for filename
<?php
/*
Plugin Name: No french punctuation and accents for filename
Description: Remove all french punctuation and accents from the filename of upload for client limitation (Safari Mac/IOS)
Plugin URI: http://www.beapi.fr
Version: 1.0
Author: BeAPI
Author URI: http://www.beapi.fr
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Sources:
http://www.geekpress.fr/wordpress/astuce/suppression-accents-media-1903/
https://gist.github.com/herewithme/7704370
https://gist.github.com/ms-studio/9567263
See also Ticket #22363 : Accents in attachment filenames should be sanitized
https://core.trac.wordpress.org/ticket/22363
and Ticket #24661 : remove_accents is not removing combining accents
https://core.trac.wordpress.org/ticket/24661
*/
add_filter( 'sanitize_file_name', 'remove_accents', 10, 1 );
add_filter( 'sanitize_file_name_chars', 'sanitize_file_name_chars', 10, 1 );
function sanitize_file_name_chars( $special_chars = array() ) {
$special_chars = array_merge( array( '’', '‘', '“', '”', '«', '»', '‹', '›', '—', 'æ', 'œ', '€', 'â', 'à', 'ä', 'é', 'è', 'ë', 'ê', 'ï', 'î', 'ô', 'ö', 'û', 'ü', 'ù' ), $special_chars );
return $special_chars;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment