регулярное выражение ссылки на YouTube
Я пытаюсь заставить это работать для всех ссылок на YouTube, которые работают, за исключением youtube.com/v/videoid
Только смотрите?v= работает с этим регулярным выражением, любая помощь будет очень полезна.
/http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/i
2
Author: chris mccoy, 2010-12-28
4 answers
/((http:\/\/)?(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/v\/)([\w-]{11}).*|http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*)/i
5
Author: Oli, 2010-12-28 11:04:26
Веб-сайт Библиотека регулярных выражений является хорошим источником для этого. Попробуйте перейти по следующей ссылке: http://www.regexlib.com/Search.aspx?k=youtube
Это мой первый вклад, надеюсь, он поможет.
$url = "https://www.youtube-nocookie.com/embed/lCpaCAfhCH4";
if (preg_match("/^((https?:\/\/)?(w{0,3}\.)?youtu(\.be|(be|be-nocookie)\.\w{2,3}\/))((watch\?v=|v|embed)?[\/]?(?P<video>[a-zA-Z0-9-_]{11}))/si", $url, $matches)) {
echo $matches['video'];
}
Это регулярное выражение работает с любым форматом URL-адреса YouTube (длинный, короткий, встроенный, безопасный и т.д.)
Спасибо!
2
Author: Manuel E. Serrano, 2012-04-24 14:54:23
Готово использовать регулярное выражение. Это лучший способ захватить идентификатор видео
<?php
$url = "http://www.youtube.com/watch?v=KkMDCCdjyW8&feature=relate";
parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
echo $my_array_of_vars['v'];
// Output: KkMDCCdjyW8
?>
0
Author: Muhammad Tahir, 2014-07-02 20:22:38