Нужно выбирать файлы 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]jpg"
0 => (string) "115_small.jpg"
1 => (string) "115"
2 => (string) "jpg"
Array[3]
0 => (string) "116_small.jpg"
1 => (string) "116"
2 => (string) "
[/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 написал(а):
Спасибо, заработало