我正在构建一个字符串来检测文件名是否有意义,或者它们是否与PHP完全随机。我正在使用正则表达式。
有效的文件名= sample-image-25.jpg
随机文件名= 46347sdga467234626.jpg
我想检查文件名是否有意义,如果没有,我想在继续之前提醒用户修改文件名。
任何帮助?
答案 0 :(得分:5)
我不确定这是可能的,因为我不确定是否可以用计算机能够理解的方式来定义“随机”。
“umiarkowany”看起来是随机的,但这是一个完全有效的词,我从韩国的波兰维基百科页面中删除。我的建议是更深入地思考为什么这个设计细节很重要,并为底层问题寻找更可行的解决方案。
答案 1 :(得分:2)
你需要做很多工作。你应该制作一个最常用词的大量数组(如字典)并检查文件中的大多数工作(可能由-
或_
分隔)是否存在并且它将具有巨大的功能错误。
基本上你需要
explode()
implode()
array_search()
或in_array()
拿起字符串,用preg_match()
寻找一块像“_”或“ - ”的胶水;如果有的话,将字符串分解为数组并将该数组与字典数组进行比较。
或者,因为几乎每个单词都有替代元音和辅音,你可以创建一个巨大的脚本来检查文件名中的大多数单词被认为是“非随机”生成的。但问题是一样的:为什么你需要这个?检查更灵活的解决方案。
注意:
考虑即使simple-and-friendly-file.png
也可能是字符串生成器的结果。
祝你好运。