Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как вывести видео ютуба по ссылке в дополнительном поле?

Как вывести видео ютуба по ссылке в дополнительном поле?


     03.01.2018    Шаблоны (TPL), Хаки, Ламерские вопросы    1868

вопрос
Как же все-таки вывести в новости видео по ссылке в дополнительном поле. Важно - ссылка должна быть полной (т.е. пользователь должен просто скопировать ссылку в адресной строке браузера). Пока получилось вывести, только если ссылка имеет вид https://www.youtube.com/embed/sQlQ6ALLxAE, но это не тот вариант. Нужна возможность вывода видео по ссылке такого вида - https://www.youtube.com/watch?v=sQlQ6ALLxAE

Ответил: mavne215


function getId(url) {
    var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
    var match = url.match(regExp);

    if (match && match[2].length == 11) {
        return match[2];
    } else {
        return 'error';
    }
}

var myId = getId('[xfvalue_youtub]');

$('#myId').html(myId);

$('#myCode').html('<iframe width="560" height="315" src="//www.youtube.com/embed/' + myId + '" frameborder="0" allowfullscreen></iframe>');


YouTube ID: <span id="myId"></span>
Embed code: <pre id="myCode"></pre> 

11 комментариев

mavne215
Юзер

mavne215 - 3 января 2018 12:02 -

function getId(url) {
    var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
    var match = url.match(regExp);

    if (match && match[2].length == 11) {
        return match[2];
    } else {
        return 'error';
    }
}

var myId = getId('http://www.youtube.com/watch?v=zbYf5_S7oJo');

$('#myId').html(myId);

$('#myCode').html('<iframe width="560" height="315" src="//www.youtube.com/embed/' + myId + '" frameborder="0" allowfullscreen></iframe>');



YouTube ID: <span id="myId"></span>
Embed code: <pre id="myCode"></pre>

Kerncraft1
Юзер

Kerncraft1 - 3 января 2018 12:05 -

А куда все это добро?

mavne215
Юзер

mavne215 - 3 января 2018 12:05 -

встав верхний код в шаблоне
создай доп. поле youtub [xfvalue_youtub]
 
var myId = getId('http://www.youtube.com/watch?v=zbYf5_S7oJo');

замены 

var myId = getId('[xfvalue_youtub]');

mavne215
Юзер

mavne215 - 3 января 2018 12:09 -

встав в fullstory.tpl

Kerncraft1
Юзер

Kerncraft1 - 3 января 2018 12:13 -

mavne215, а как вставить php код в tpl? у меня он не отрабатывает там.

mavne215
Юзер

mavne215 - 3 января 2018 12:17 -

eto ne php eto javascript

<script type="text/javascript">
CODE
</script>

Kerncraft1
Юзер

Kerncraft1 - 3 января 2018 12:24 -

А на экране вывести видео как?

Kerncraft1
Юзер

Kerncraft1 - 3 января 2018 12:48 -

Все получилось! Спасибо большое за помощь!

Risha
Юзер

Risha - 31 июля 2018 16:25 -

Добрый день! подскажите правильно ли я устанавливаю.?

1. устанавливаю в main.tpl -в /head Правильно ?
<script type="text/javascript">
function getId(url) {
    var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
    var match = url.match(regExp);

    if (match && match[2].length == 11) {
        return match[2];
    } else {
        return 'error';
    }
}

var myId = getId('http://www.youtube.com/watch?v=zbYf5_S7oJo');

$('#myId').html(myId);

$('#myCode').html('<iframe width="560" height="315" src="//www.youtube.com/embed/' + myId + '" frameborder="0" allowfullscreen></iframe>');


</script>


2. создаю доп. поле youtub [xfvalue_youtub]

3.Вставлю в fullstory.tpl

YouTube ID: <span id="myId"></span>
Embed code: <pre id="myCode"></pre>



Почему-то у меня не работает:? в чем дело

dj-avtosh
PHP-developer

dj-avtosh - 31 июля 2018 17:12 -


<script type="text/javascript">

$(document).ready(function(){

function getId(url) {
    var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;
    var match = url.match(regExp);

    if (match && match[2].length == 11) {
        return match[2];
    } else {
        return 'error';
    }
}

var myId = getId('http://www.youtube.com/watch?v=zbYf5_S7oJo');

$('#myId').html(myId);

$('#myCode').html('<iframe width="560" height="315" src="//www.youtube.com/embed/' + myId + '" frameborder="0" allowfullscreen></iframe>');

});
</script>


По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Astral
Юзер

Astral - 4 января 2018 10:51 -

Каким парсером пользуетесь ? достаточно его настроить и вывести доп поле с трейлером ютуба.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх