2010-11-29 7 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 может быть результатом генератора строк.

Удачи вам в этом.

Смежные вопросы