Tinymce Roxy Fileman与umlauts之间的问题

Tinymce Roxy Fileman与umlauts之间的问题,tinymce,roxy-fileman,Tinymce,Roxy Fileman,我在我的tinymce编辑器中实现了roxy文件管理器,它工作得非常好,但是我在使用umlauts(ä,ö,ü,ß)等上传文件时遇到了一些问题。如何处理此问题?在fileman/php/dir中搜索upload.php。您将在第37行找到一个foreach循环。在循环中,您将发现以下行(应该是循环中的第一行): 在此行后插入以下代码: // replace umlaute and white spaces $filename = str_replace(' ', '-', $filename);

我在我的tinymce编辑器中实现了roxy文件管理器,它工作得非常好,但是我在使用umlauts(ä,ö,ü,ß)等上传文件时遇到了一些问题。如何处理此问题?

在fileman/php/dir中搜索upload.php。您将在第37行找到一个foreach循环。在循环中,您将发现以下行(应该是循环中的第一行):

在此行后插入以下代码:

// replace umlaute and white spaces
$filename = str_replace(' ', '-', $filename);
$filename = str_replace(utf8_decode('ä'), 'ae', $filename);
$filename = str_replace(utf8_decode('Ä'), 'Ae', $filename);
$filename = str_replace(utf8_decode('ö'), 'oe', $filename);
$filename = str_replace(utf8_decode('Ö'), 'Oe', $filename);
$filename = str_replace(utf8_decode('ü'), 'ue', $filename);
$filename = str_replace(utf8_decode('Ü'), 'Ue', $filename);
$filename = str_replace(utf8_decode('ß'), 'ss', $filename);
完成了

如果要确保文件名只包含Roy Fileman可以处理的字符,则必须在umlaute转换后添加以下行

$filename = preg_replace('/[^A-Za-z0-9\-_.]/', '-', $filename);

这可以消除各种口音和特殊字符,而无需更换。如果要转换更多特定于语言的字符(例如,é、è、ê=>e),可以添加更多str_替换行。

修改代码以改进行为,或者放弃并将其标记为应用程序的特征。
$filename = preg_replace('/[^A-Za-z0-9\-_.]/', '-', $filename);