ул_заменить. замена чисел из строки

Привет всем, у меня есть этот код здесь

$pathinfo = pathinfo($fullpath);
$tags = $shortpath;
$tags = str_replace("/", " ", $tags);
$tags = str_replace("__", " ", $tags);
$tags = str_replace(".png", "", $tags);
$tags = str_replace(".jpg", "", $tags);
$tags = str_replace(".jpeg", "", $tags);
$tags = str_replace(".gif", "", $tags);

Все работает нормально с вышеперечисленным, но мне также нужно заменить некоторые числа в начале файлов, которые я добавляю.

пример файла будет

247991 - my_small_house.jpg

цифры перед "-" мне нужно убрать Можно ли это сделать?

Спасибо


person VK27    schedule 30.09.2011    source источник


Ответы (3)


Вы можете использовать регулярное выражение с preg_replace() или preg_split(), но я думаю, что лучше взорвать():

$chunks = explode('-',$shortpath);  // you just keep the part after the dash
$tags = str_replace(array('/','__'),' ', $chunks[1]);
$tags = str_replace(array('.png','.jpg','.jpeg','.gif'),'',$tags);
/* used array to avoid code repetition */
person Damien Pirsy    schedule 30.09.2011

Номер, который вы должны удалить, состоит из фиксированного количества цифр? Если это так, вы можете просто сделать:

$tags = substr($tags, 9);

В противном случае, если вы уверены, что каждое число заканчивается на "-", вы можете сделать:

$tags = substr($tags, strrpos($tags," - ") + 3);
person Dippi    schedule 30.09.2011

Попробуй это:

preg_replace('/^[0-9]+(.+)/', '$1', $tags);
person Velcro    schedule 30.09.2011
comment
Привет, спасибо, к сожалению, это не сработало, так как он все еще добавляет числа. - person VK27; 30.09.2011