[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа со строкой str_replace или preg_match
sebastjan
Вопрос начинающего по основам.
Есть строка к примеру xxxxxx.gif.
Хочу определить точку и всё что после неё передать переменной.
И что лучше для этого использовать (str_replace или preg_match)

Подскажите про синтаксис где почитать про то как задавать условия поиска в этих фукциях.

preg_match("/[^\.\/]+\.[^\.\/]+$/", $a, $b);




Спустя 43 минуты, 17 секунд (14.03.2011 - 20:11) imbalance_hero написал(а):
Это - регулярные выражения. Читать - полным полно справочников, есть даже на irbis-team.com , учебник Котерова, и т.д.

Если в строке лишь одна точка, то можешь через 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 написал(а):
да о чём мы вообще говорим
Вариант
#\.(.+)$#ius
вообще не является решением. Нельзя не решение с решением сравнивать ибо данный вариант в примере:
asda.asdada.gif найдёт asdada.gif, что не есть верно
Быстрый ответ:

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