Changeset 48603
- Timestamp:
- 07/24/2020 06:01:48 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/formatting.php
r48596 r48603 1985 1985 */ 1986 1986 function sanitize_file_name( $filename ) { 1987 $filename_raw = $filename; 1987 $filename_raw = $filename; 1988 $filename = remove_accents( $filename ); 1989 1988 1990 $special_chars = array( '?', '[', ']', '/', '\\', '=', '<', '>', ':', ';', ',', "'", '"', '&', '$', '#', '*', '(', ')', '|', '~', '`', '!', '{', '}', '%', '+', '’', '«', '»', '”', '“', chr( 0 ) ); 1989 1991 … … 2014 2016 */ 2015 2017 $special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw ); 2016 $filename = str_replace( $special_chars, '', $filename ); 2017 $filename = str_replace( array( '%20', '+' ), '-', $filename ); 2018 $filename = preg_replace( '/[\r\n\t -]+/', '-', $filename ); 2019 $filename = trim( $filename, '.-_' ); 2018 2019 $filename = str_replace( $special_chars, '', $filename ); 2020 $filename = str_replace( array( '%20', '+' ), '-', $filename ); 2021 $filename = preg_replace( '/[\r\n\t -]+/', '-', $filename ); 2022 $filename = trim( $filename, '.-_' ); 2020 2023 2021 2024 if ( false === strpos( $filename, '.' ) ) { … … 2069 2072 } 2070 2073 } 2074 2071 2075 $filename .= '.' . $extension; 2076 2072 2077 /** This filter is documented in wp-includes/formatting.php */ 2073 2078 return apply_filters( 'sanitize_file_name', $filename, $filename_raw ); -
trunk/tests/phpunit/tests/formatting/SanitizeFileName.php
r48596 r48603 22 22 23 23 /** 24 * @ticket 22363 25 */ 26 function test_removes_accents() { 27 $in = 'àáâãäåæçèéêëìíîïñòóôõöøùúûüýÿ'; 28 $out = 'aaaaaaaeceeeeiiiinoooooouuuuyy'; 29 $this->assertEquals( $out, sanitize_file_name( $in ) ); 30 } 31 32 /** 24 33 * Test that spaces are correctly replaced with dashes. 25 34 * 26 35 * @ticket 16330 27 36 */ 28 function test_replace _spaces() {37 function test_replaces_spaces() { 29 38 $urls = array( 30 39 'unencoded space.png' => 'unencoded-space.png', … … 59 68 } 60 69 61 function test_replaces_unnam med_file_extensions() {70 function test_replaces_unnamed_file_extensions() { 62 71 // Test filenames with both supported and unsupported extensions. 63 72 $this->assertEquals( 'unnamed-file.exe', sanitize_file_name( '_.exe' ) ); … … 65 74 } 66 75 67 function test_replaces_unnam med_file_extensionless() {76 function test_replaces_unnamed_file_extensionless() { 68 77 // Test a filenames that becomes extensionless. 69 78 $this->assertEquals( 'no-extension', sanitize_file_name( '_.no-extension' ) );
Note: See TracChangeset
for help on using the changeset viewer.