Пмогите с регулярными выражениями

dast

Новичок
Пмогите с регулярными выражениями

значит вот есть вот такая строка...

$field = preg_replace ("/(?:file\:)?\w\:.*([^\/]+?\.(?:gif|jpg|png|bmp|tiff))/im",'./files/pix/\1',$field);

это строка из html редактора. Ее смысл в том что на находит в переменной с данными ссылку на картинку и исправляет ее путь на правильный... Но проблема в том что она берет лиш 1й символ из имени и записывает в код его.

Как изменить мне на неограниченное количество символов? наверняка тут что то связанно с "?"... Помогите плиз, самому опыта не хватает :(
 

MiksIr

miksir@home:~$
а скажи, какого вида ссылки на картинки?
имхо, этот регексп перегружен

-~{}~ 04.12.06 19:24:

а если в лоб, то меняй
.*([^\/] на .*[\/]([^\/]
 

dast

Новичок
MiksIr не выходит...

ссылка по умолчанию типо H:/Documents%20and%20Settings/Алексей/Рабочий%20стол/dsdgsd.jpg

а надо что менялась на files/pix/dsdgsd.jpg а он ставит вот такую вместо правильной files/pix/d.jpg
 

MiksIr

miksir@home:~$
Ну я бы написал так
'/\w:\S*\/(\S+\.(gif|jpg|png|bmp|tiff))\b/i', 'files/pix/\1'
 
Сверху