bazilio2010
@bazilio2010
Мужчина

Как обернуть картинку ссылкой php взяв ссылку из ее атрибута data-url?

Есть вот такой код html
<p>тра та так</p>
<img src="exaple-min.jpg" alt=""   data-url="exaple-big.jpg">
<p>тра та так</p>
<img src="exaple-min1.jpg" alt=""   data-url="exaple-big1.jpg">

а нужно вот такой

<p>тра та так</p>
<a href="exaple-big.jpg" class="to">
   <img src="exaple-min.jpg" alt="">
</a>
<p>тра та так</p>
<a href="exaple-big1.jpg" class="to">
   <img src="exaple-min1.jpg" alt="">
</a>

Как это можно сделать наименее затратно для сервера?
  • Вопрос задан
  • 521 просмотр
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Нафига тогда на сервере? Рулите с клиента жсом. Вроде же дата оно как раз для этого?
что-то типа :
var imgs = $('img');
imgs.each.function(){
var url = $(this).data('url');
$(this).wrap('<a href="'+url+'"></a>');
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
XXXXPro
@XXXXPro
Fullstack Web developer
Если требуется обработать на стороне сервера, то это можно сделать с помощью регулярного выражения:
$html=preg_replace('|<img src="([^"]+)"\s+alt=""\s+data-url="([^"]+)">|is','<a href="$2" class="to"><img src="$1" alt=""></a>',$html);
Ответ написан
Комментировать
0lorin
@0lorin
программист
А как этот хтмл генерится?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы