检测随机字符串

时间:2010-11-29 20:01:18

标签: php regex

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

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

随机文件名= 46347sdga467234626.jpg

我想检查文件名是否有意义,如果没有,我想在继续之前提醒用户修改文件名。

任何帮助?

2 个答案:

答案 0 :(得分:5)

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

“umiarkowany”看起来是随机的,但这是一个完全有效的词,我从韩国的波兰维基百科页面中删除。

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

答案 1 :(得分:2)

你需要做很多工作。你应该制作一个最常用词的大量数组(如字典)并检查文件中的大多数工作(可能由-_分隔)是否存在并且它将具有巨大的功能错误。

基本上你需要

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

拿起字符串,用preg_match()寻找一块像“_”或“ - ”的胶水;如果有的话,将字符串分解为数组并将该数组与字典数组进行比较。

或者,因为几乎每个单词都有替代元音和辅音,你可以创建一个巨大的脚本来检查文件名中的大多数单词被认为是“非随机”生成的。但问题是一样的:为什么你需要这个?检查更灵活的解决方案。

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

祝你好运。