2010-11-29 10 views
0

ファイル名が意味を持つかどうか、またはPHPで完全にランダムであるかどうかを検出する文字列を作成しています。私は正規表現を使用しています。ランダムな文字列を検出する

有効なファイル名= sample-image-25.jpg

ランダムなファイル名= 46347sdga467234626.jpg

ない場合、私は、ファイル名が理にかなっているかいないかどうかを確認したい、私は続行する前に、ファイル名を修正するためにユーザーに警告します。

助けが必要ですか?

+3

「有効」と「ランダム」の区別に役立つルールをいくつか教えてもらえますか? –

+0

もしファイル名がasciiであれば、それ以外の理由はありません。それ以外の理由はありませんので、フォーマットがなければそのフォーマットをチェックすることができます。 –

+0

アプローチはありません確実にこれを行うことができます。なぜランダムな人物は大丈夫なのですか? – thejh

答えて

5

コンピュータが十分理解できる方法で「ランダム」を定義することが可能であるかどうかはわからないため、実際は可能ではありません。

"umiarkowany"はランダムに見えますが、それは完全に有効な単語です。私は韓国のポーランド語Wikipediaのページを出しました。

私のアドバイスは、このデザインの詳細が重要な理由をより深く考えることであり、根本的な問題に対するより現実的な解決策を模索することです。

2

あなたは多くのことに取り組む必要があります。 (辞書のような)最も使用されている単語の膨大な配列を作成し、ファイル内の作業のほとんどが(おそらく-または_で区切られているかどうか)チェックして、巨大なバグがあるかどうか確認する必要があります。

基本的には文字列を取り、 "_" などの作品の糊を探し

  • explode()
  • implode()
  • array_search()またはin_array()

の必要があります。 " - " でpreg_match();ある場合は、文字列を配列に分解し、その配列と辞書配列を比較します。

ほとんどの単語には母音と子音が交互に表示されるので、ファイル名の中の単語のほとんどが「非ランダム」とみなされるかどうかを確認する巨大なスクリプトを作成できます。しかし、問題は同じです:あなたはなぜそれが必要ですか?より柔軟なソリューションを確認してください。

Notice: simple-and-friendly-file.pngでも文字列ジェネレータの結果である可能性があることを考慮してください。

幸いです。

関連する問題