регулярное выражение для проверки имени файла изображения - PullRequest
1 голос
/ 01 февраля 2010

Я хочу проверить строку и убедиться, что это следующий формат

"thumb_*.jpg|gif|png"

где * - шаблон, а jpg | gif | png - необязательные расширения файла

это в PHP

Это возможно?

PS: я просто хочу, чтобы возвращаемое значение true или false

Ответы [ 2 ]

4 голосов
/ 01 февраля 2010
$valid = preg_match('~^thumb_.*\.(jpg|gif|png)$~', $filename) != 0;

Или, если вы действительно хотите, чтобы расширение было необязательным:

$valid = preg_match('~^thumb_.*(\.(jpg|gif|png))?$~', $filename) != 0;

РЕДАКТИРОВАТЬ: В соответствии с комментарием Am на ответ Cletus, вы можете захотеть ограничить подстановочный знак, чтобы избежать совпадения слеш:

$valid = preg_match('~^thumb_[^/]*\.(jpg|gif|png)$~', $filename) != 0;
0 голосов
/ 01 февраля 2010
if (preg_match('/^thumb_.*?\.(jpg|gif|png)$/i', $filename)) {
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...