[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: регулярное выражение для проверки имени изображени
OEMOEM
На входе имеем строку, в которой хранится название файла-изображение.
Нужно выбирать файлы png, jpg, gif и сохранять начало названия.
Общий вид названия файла такой: любойтекст_small.jpg, любойтекст_small.png, любойтекст_small.gif

Делаю такое выражение:

$file = 119sf_small.jpg;
$match_ar = "/^(.*)_small\.(jpg)|(png)|(gif)$/";
if (preg_match($match_ar, $file, $title))
{
$photos = $title;
}


Если в строках хранятся только файлы jpg, то все ок:
[php]Array[3]
0 => (string) "115_small.jpg"
1 => (string) "115"
2 => (string) "jpg"
Array[3]
0 => (string) "116_small.jpg"
1 => (string) "116"
2 => (string) "
jpg"
[/php]
А если попадается png, то не получается нормальный ответ:
Array[3]
0 => (string) "115_small.jpg"
1 => (string) "115"
2 => (string) "jpg"
Array[3]
0 => (string) "116_small.jpg"
1 => (string) "116"
2 => (string) "jpg"
Array[4]
0 => (string) "png"
1 => (string) ""
2 => (string) ""
3 => (string) "png"
Array[4]
0 => (string) "png"
1 => (string) ""
2 => (string) ""
3 => (string) "png"

Помогите, как правильно написать регулярку



Спустя 34 минуты, 15 секунд (8.06.2011 - 13:07) DedMorozzz написал(а):
(jpg)|(png)|(gif) = (jpg|png|gif)

Спустя 16 часов, 3 минуты, 26 секунд (9.06.2011 - 05:10) OEMOEM написал(а):
Спасибо, заработало
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.