Регулярка img -> a

Статус
В этой теме нельзя размещать новые ответы.

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Требуется заменить все картинки в HTML тексте на ссылки на них в формате:
HTML:
<a href="$url">$title$img_name</a>
Тег img может содержать всё, что угодно, что поддерживается веб-стандартами в произвольном порядке. Так там может быть class, title, alt, style и т.д., но обязательно содержат src="url" Все теги начинаются с <img, заканчиваются на />
Надо заменить тег img и всё его содержимое на ссылку без сохранения стилей, альтов и т.д.

Условно, весь текст уже содержится в переменной. $title известен. $img_name могу получить сам, обрезанием ссылки на картинку по /. Для меня проблема в ссылке и в замене по всему тексту...

Нужна регулярка =) Обработку можно делать в столько этапов, во сколько нужно. Не принципиально наличие 1 регулярки. Пусть это будет хоть 10 - лишь бы работало.

Вроде подробно расписал.

Заранее спасибо.
 
Код:
  $title = '  титл  ';
 
function myReaplace($m){
global $title;
  // $img_name = 'тут название делаешь';
  $img_name = basename($m[1]);
    return '<a href="'.$m[1].'">'.$title.$img_name.'</a>';
   
}
$test ='<img style="" src="http://yandex.ru/img1.jpg" />
<img ololo src="http://yandex.ru/img2.jpg"/>
<img asdsad222 src="http://yandex.ru/img3.jpg" asdsadsad />
';
 
//echo preg_replace_callback('~<img.*?src=([\'"])?(.*?)(\\1| ).*?/>~', 'myReaplace', $test);
echo preg_replace_callback('~<img.*?src="(.*?)".*?/>~', 'myReaplace', $test);
это под тз подходит?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху