Как я могу regex URL-адрес для вставки из HTML-код для вставки YouTube? - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь получить просто URL-адрес для вставки YouTube из строки для вставки html.

пользователь вводит строку embed-html для ввода.Затем я хочу разделить его до просто ссылки для встраивания, чтобы я всегда мог иметь их в своем готовом iframe.

let str = '<iframe width="560" height="315" src="https://www.youtube.com/embed/a24p_KjdpKE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';

let indexOfURL = str.indexOf('http');
let embedURL = str.slice(indexOfUrl, str.find(-the-next-double-speech-mark-after-indexOfUrl));

console.log(embedUrl);

Есть ли нахальное регулярное выражение, которое сделало бы это для меня?

1 Ответ

0 голосов
/ 01 февраля 2019

Благодаря @VLAZ - я не был знаком с анализом HTML раньше.Не уверен почему.В любом случае, быстрое 5-минутное прочтение привело меня к тому, что я написал это, что решает мои потребности.Я надеюсь, это решит и тебя, если ты читаешь это.но если это не так, я не чрезмерно забочусь.

Примечание: это работает для Vimeo, Soundcloud и YouTube (вставка в их HTML-кодирование).

const changeEmbedHTMLIntoEmbeddableURL = html => {
            let parser = new DOMParser();
            let htmlDoc = parser.parseFromString(html, 'text/html');
            let embeddableURL = htmlDoc.getElementsByTagName('iframe')[0].src;
            console.log('Embeddable URL: ', embeddableURL);
            return embeddableURL;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...