Замена переменной в текстовом поле

Главные вкладки

Аватар пользователя alex-litvinov alex-litvinov 12 мая в 16:47

На сайте происходит импортирование материалов, в котором есть одно текстовое поле, которое содержит ссылку на видео, к примеру: https://rutube.ru/shorts/c08ee2ea813d629459e1ca1a7d33aac2?r=wd,
Необходимо сделать так что бы shorts, менялся на play/embed, данную задачу запросто модно решить через Feeds, но необходимо что бы это на стороне модуля, либо на views Rules или какого то другого модульного решения.
Объясню почему есть такая заморочка, поскольку в данном блоке встречаются и video, которые имею уже другой размер экрана, и под них делается другая views

Комментарии

Аватар пользователя alex-litvinov alex-litvinov 16 мая в 16:11

Добрый день, сам разобрался как можно решить данную задачу через JS, если кому нужен код, вот он:

<script>
const rutubeElements = document.querySelectorAll('.views-field-field-rutube iframe');
rutubeElements.forEach(iframe => {
    let src = iframe.getAttribute('src');
    if (src) {
        if (src.includes('/video/')) {
            src = src.replace('/video/', '/play/embed/');
        }
        if (src.includes('/shorts/')) {
            src = src.replace('/shorts/', '/play/embed/');
        }
        iframe.setAttribute('src', src);
    }
});
</script>