2010-11-29 125 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可能是字符串生成器的結果。

祝你好運。