Есть строка к примеру xxxxxx.gif.
Хочу определить точку и всё что после неё передать переменной.
И что лучше для этого использовать (str_replace или preg_match)
Подскажите про синтаксис где почитать про то как задавать условия поиска в этих фукциях.
preg_match("/[^\.\/]+\.[^\.\/]+$/", $a, $b);
Спустя 43 минуты, 17 секунд (14.03.2011 - 20:11) imbalance_hero написал(а):
Это - регулярные выражения. Читать - полным полно справочников, есть даже на irbis-team.com , учебник Котерова, и т.д.
Если в строке лишь одна точка, то можешь через explode сделать.
Если в строке лишь одна точка, то можешь через explode сделать.
Спустя 44 минуты, 16 секунд (14.03.2011 - 20:56) sebastjan написал(а):
Цитата (imbalance_hero @ 14.03.2011 - 17:11) |
Это - регулярные выражения. Читать - полным полно справочников, есть даже на irbis-team.com , учебник Котерова, и т.д. Если в строке лишь одна точка, то можешь через explode сделать. |
Спасибо , попробовал explode , получилось.
Надо читать про регулярные выражения, всёж нормально было бы определять с конца строки до точки.
В названии файла могут ведь присутсвовать точки.
Большое спасибо.
Спустя 34 минуты, 25 секунд (14.03.2011 - 21:30) alex12060 написал(а):
Цитата |
всёж нормально было бы определять с конца строки до точки. |
Поддерживаю)
Спустя 20 часов, 59 минут, 17 секунд (15.03.2011 - 18:29) Guest написал(а):
[move]
Спустя 6 минут, 8 секунд (15.03.2011 - 18:35) DedMorozzz написал(а):
preg_match('#.*\.(.*)#',$a,$matches);
print_r($matches);
Спустя 7 минут, 45 секунд (15.03.2011 - 18:43) neadekvat написал(а):
DedMorozzz, как-то сложно.
Еще проще:
Ну и..
$arr = explode('.', $a);
echo end($arr);
Еще проще:
$end = strrchr($a, '.');
echo $end;
echo ltrim($end, '.'); // без точки
Ну и..
$end = pathinfo($a, PATHINFO_EXTENSION);
echo $end;
Спустя 57 минут, 38 секунд (15.03.2011 - 19:41) imbalance_hero написал(а):
DedMorozzz
Думаю, лучше было бы до первой точки с конца:
Думаю, лучше было бы до первой точки с конца:
#\.([a-z]*)$#
Спустя 8 минут, 1 секунда (15.03.2011 - 19:49) DedMorozzz написал(а):
imbalance_hero
а у меня что написанно? берётся всё до последней точки. И всё что после точки записываем как вхождение
а у меня что написанно? берётся всё до последней точки. И всё что после точки записываем как вхождение
Спустя 13 минут, 59 секунд (15.03.2011 - 20:03) imbalance_hero написал(а):
DedMorozzz
лишний перебор в подмаске до точки, из-за этого чуточку медленнее работает =) Хотя мой тоже немного кривой, лучше уж:
лишний перебор в подмаске до точки, из-за этого чуточку медленнее работает =) Хотя мой тоже немного кривой, лучше уж:
#\.(.+)$#ius
Спустя 4 часа, 18 минут, 7 секунд (16.03.2011 - 00:21) DedMorozzz написал(а):
да о чём мы вообще говорим
Вариант
asda.asdada.gif найдёт asdada.gif, что не есть верно
Вариант
#\.(.+)$#iusвообще не является решением. Нельзя не решение с решением сравнивать ибо данный вариант в примере:
asda.asdada.gif найдёт asdada.gif, что не есть верно