Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Замена адреса изображения в теге IMG
Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2008
Помог: 0 раз(а)
Задача: в тексте есть теги вида <img src=”какая-то папка/имя файла>”.
Их необходимо заменить на теги вида <img src=”эта папка/имя файла>”.
С регулярными выражениями, к сожалению, знаком поверхностно, поэтому
решил воспользоваться готовым кодом:
Задача частично решается – имя папки меняется на требуемое(./files/pix), а вот имя файла
обрезается до одного символа+расширение.
С регулярным выражением такого уровня сам пока разобраться не смог.
Укажите, пожалуйста, на ошибку или посоветуйте другое решение.
Спасибо.
Champion
Отправлено: 10 Февраля, 2009 - 14:43:51
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2008
Помог: 0 раз(а)
Спасибо!
Сразу результата не было, потерялась кавычка после еденицы.
А так - заработало!
$field = preg_replace("/(.*src=).*([a-z0-9_-]+\.[a-z0-9])(.*\>)/iU",'\1"./files/pix/\2\3',$field);
А. Н.
Отправлено: 12 Февраля, 2009 - 16:08:34
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Май 2008
Помог: 0 раз(а)
Помогите, пожалуйста еще раз.
Дело в том, что, если имя файла с пробелами, то это имя обрезается до пробела.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.