Операции с содержимым строковых переменных

Freetz

Guest
Операции с содержимым строковых переменных

Народ! Такой вопрос: пусть у меня есть $file_name='news51.tmp'. Как мне можно сделать из нее "news51.xml". Понятно, что добавить .xml так $file_name.='.xml'. Но как удалить .tmp?
Заранее спасибо за ответ.
 

Фанат

oncle terrible
Команда форума
вариантов масса.
можно сразу заменить регуляркой.
можно искать первую точку справа ([m]strRpos[/m]) и отрезать(m]substr[/m])
можно отрезать через [m]basename[/m]
последнее, будет, наверное, самым простым вариантом.
только проверь на зависимость от регистра

-~{}~ 27.06.04 12:45:

IL78
str_replace, все-таки, теоретически не очень надежен.
 

SiMM

Новичок
Автор оригинала: Фанат
IL78
str_replace, все-таки, теоретически не очень надежен.
Если быть точнее, он выполняет не те действия ($file_name='tmp51.tmp', я думаю, будет обработан некорректно - наверно - потому что автор этого специально не оговаривал).
 

ForJest

- свежая кровь
А ещё можно использовать [m]pathinfo[/m], [m]explode[/m] и несколько других извращённых вариантов.
PHP:
str_replace('.tmp', '.xml', $name)
всё.
 

Фанат

oncle terrible
Команда форума
с теоретической точки зрения этот вариант неоднозначен.
в имени файла может встретиться такая же строчка.
сдесь, скорее, подойдет прег реплейс, которому можно указать, что заменять подстроку надо только у конца строки
 
Сверху