@wakenby

Регулярное выражение для замены img на picture?

Есть такие фотографии:

<img alt="image-1" src="/assets/1.jpg" class="image-n-n">
<img class="n-class" src="/assets/2.jpg"/>
<img alt="image-5" src="https://n.n/5.png">


Т.е любая вариация фотографий, и необходимо их заменить (Их может быть любое количество) на picture, кроме тех, которые ведут на сторонние ресурсы(Это не обязательно):

<picture>
 <source srcset="/assets/1.jpg" type="image/svg+xml">
 <img alt="image-1" src="/assets/1.jpg" class="image-n-n">
</picture>

<picture>
 <source srcset="/assets/2.jpg" type="image/svg+xml">
 <img class="n-class" src="/assets/2.jpg"/>
</picture>

<img alt="image-5" src="https://n.n/5.png">


У меня даже идей нет как это сделать((
  • Вопрос задан
  • 215 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelectorAll('img').forEach(n => {
  const src = n.getAttribute('src');
  if (!/^https?:\/\//.test(src)) {
    const picture = document.createElement('picture');
    picture.innerHTML = `<source srcset="${src}" type="image/svg+xml">${n.outerHTML}`;
    n.parentElement.replaceChild(picture, n);
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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