2010-11-29 176 views
0

我正在构建一个字符串来检测文件名是否有意义,或者它们是否完全随PHP。我正在使用正则表达式。检测随机字符串

有效的文件名= sample-image-25.jpg

任意文件名= 46347sdga467234626.jpg

我想,以检查文件名是有道理,还是没有,如果没有,我要提醒用户在继续之前修复文件名。

任何帮助?

+3

你能给我们一些有助于区分“有效”和“随机”的规则吗? – 2010-11-29 20:05:02

回答

5

我不太确定这是可能的,因为我不确定是否可以用计算机能够充分理解的方式定义“随机”。

“umiarkowany”看起来是随机的,但这是一个非常有效的词,我脱离了韩国的波兰维基百科页面。

我的建议是更深入地思考为什么这个设计细节很重要,并寻找一个更可行的解决方案来解决潜在的问题。

2

你需要更多的工作。你应该制作一大堆最常用的单词(比如字典),并检查文件中的大部分工作(可能由-或分隔)是否存在,并且会有很大的错误。

基本上你需要的

  • explode()
  • implode()
  • array_search()in_array()

采取串并寻找一块胶样 “_” 或 “ - ” 用preg_match();如果有的话,将字符串分解成一个数组并将该数组与字典数组进行比较。

或者,由于几乎每个单词都有替代的元音和辅音,所以您可以制作一个巨大的脚本来检查文件名中的大部分单词是否被视为“非随机”生成的。但问题是一样的:你为什么需要这个?检查更灵活的解决方案。

注意: 请考虑,即使是simple-and-friendly-file.png可能是字符串生成器的结果。

祝你好运。