我一直在谷歌上搜索几个小时,但我找不到一个很好的解决方案,用于验证PHP正则表达式解决方案的utf-8文件名。我尝试了很多,如果需要,我可以在这里复制/粘贴。文件名可能包括德语或其他字符,但不包括/等无效字符。您有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
我总是觉得非常优雅的另一个选择是urlencode()
文件名。
它消除了将字符列入黑名单的需要,因为它创建了适用于每个文件系统的文件名;使用urldecode()
显示真实文件名是微不足道的。
答案 2 :(得分:0)
尝试排除无效的? ^[^/etc]+$
或其他一些(用你不喜欢的其他字符替换等)。
不确定您是否真的需要正则表达式来完成任务。
答案 3 :(得分:0)
我不确定您是否尝试验证文件是否为UTF-8或如何执行UTF-8正则表达式。如果你想使用UTF-8正则表达式,你可以使用mbstring
系列函数,首先将mb_regex_encoding设置为UTF-8,然后使用mb_ereg进行正则表达式匹配。如果要测试文件是否具有UTF-8,可以对文件内容使用mb_detect_encoding,看它是否与UTF-8匹配。