Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Замена url во всем html (https://javascript.ru/forum/jquery/80647-zamena-url-vo-vsem-html.html)

Dark Souls 08.07.2020 17:17

Замена url во всем html
 
Доброго времени суток!

Пытаюсь настроить Gulp на работу с Wordpress. Проблема в ссылках на кртинки.
WP нужно указывать полный путь, типо:
src="<?= get_template_directory_uri().'/assets/images/picture.jpg' ?>"
но в таком случае тупит gulp-webpHtml - модуль, который подключает webp картинки, если браузер их поддерживает.

Пришла мысль в момент выгрузки html файла подменить ссылки, только вот тупой я в регулярках.
Стоит gulp-replace. Нужно в момент выхрузки у всех [src, srcset, xlink:href] заменить url.

пример:
<svg>
    <use xlink:href="./assets/images/sprite.svg#tollbar"></use>
</svg>
<picture>
    <source srcset="./assets/images/picture.webp" type="image/webp">
    <img src="./assets/images/picture.png" type="image/png">
</picture>

заменить на
<svg>
    <use xlink:href="<?= get_template_directory_uri().'/assets/images/sprite.svg#tollbar' ?>"></use>
</svg>
<picture>
    <source srcset="<?= get_template_directory_uri().'/assets/images/picture.webp' ?>" type="image/webp">
    <img src="<?= get_template_directory_uri().'/assets/images/picture.png' ?>" type="image/png">
</picture>

Help пожалуйса! :)

Dark Souls 08.07.2020 20:17

Всем спасибо!
Решил вопрос (может кому-то понадобиться)

...
.pipe (load.replace(/(srcset|src|xlink:href)="\.(.+?)"/g, function (str, s, v) {
    return s +'="<?= get_template_directory_uri().\''+ v + '\' ?>"'; 
}))
...


Часовой пояс GMT +3, время: 01:04.