Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Правильно ли?

365
05 июля 2005 года
MasterSID
230 / / 23.02.2003
Данная функция должна возвращать расширение файла.
Правильно ли она написана?
 
Код:
preg_replace("/(.*)\.(.*)/s", "\\\2", $v);
1.9K
06 июля 2005 года
Ananim
156 / / 15.05.2005
Цитата:
Originally posted by MasterSID
Данная функция должна возвращать расширение файла.
Правильно ли она написана?
 
Код:
preg_replace("/(.*)\.(.*)/s", "\\\2", $v);


не знаю правильна ли она , знаю что эта правильна :

 
Код:
preg_replace('/^.*\.([^\.]+?)$/','$1',$filename)
271
06 июля 2005 года
MrXaK
721 / / 31.12.2002
Цитата:
Originally posted by MasterSID
Данная функция должна возвращать расширение файла.
Правильно ли она написана?
 
Код:
preg_replace("/(.*)\.(.*)/s", "\\\2", $v);


если вводить корректные имена то правильно, а вот если вводить двойное расширение, или вообще "..." то вернёт по идее то что после первой точки идёт...

287
06 июля 2005 года
Shiizoo
958 / / 14.03.2004
хых, правильно. а точками не только расширения обозначаются=) я вот их вместо всяческих разделителей тыкаю;) в моём понимании расширение это то, что идет после первой справа точки.

 
Код:
echo preg_replace('/^(.*)\.(.*)$/s', '\\2', $v);
365
06 июля 2005 года
MasterSID
230 / / 23.02.2003
А моя функция как раз и берет то, что после последней точки, ибо (.*) ungreedy
287
06 июля 2005 года
Shiizoo
958 / / 14.03.2004
Я и не говорю, что не берет=) Просто в replacement'е capture неправильно экранирован - "\2". И разделительная точка тоже=)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог