Суть вопроса вот какая. Приходит любой URL, его нужно проверить, что он принадлежит сервису Ютуб, и если он принадлежит, то проверить на содержание
id или видео, или
id канала:
Или может быть в место id канала, его ник.
Вот пример URL которые содержат id каналов:
В данном случаи это
UCUs7vT6w345rNv65Sb2ToIzhttps://www.youtube.com/channel/UCUs7vT6w345rNv65Sb2ToIz
https://www.youtube.com/channel/UCUs7vT6w345rNv65Sb2ToIz/тут может еще что то быть
Если это ник, тогда в место слова
channel в URL стоит
user
Вот пример.
https://www.youtube.com/user/ZxTrickde70
Вот пример URL которые содержат id видео
В данном случаи это: 1jxl95Xyz6o
https://www.youtube.com/watch?v=1jxl95Xyz6o&тут может еще что то быть
В итоге мне нужен код похожий на
1jxl95Xyz6o или UCUs7vT6w345rNv65Sb2ToIz
Честно, я не нашел в описании их точного размера и длины, но вроде как длина видео кода 11 знаков.
if(stripos($url_full, 'v=') or preg_match("/\/channel\/([^\&\?\/]+)/", $url_full, $channel) or preg_match("/\/user\/([^\&\?\/]+)/", $url_full, $user)) {
if (stripos($url_full, 'v=')) {
// это URL c видео
} elseif (preg_match("/\/channel\/([^\&\?\/]+)/", $url_full, $channel)) {
// это код канала $channel['1']
} elseif (preg_match("/\/user\/([^\&\?\/]+)/", $url_full, $user)) {
// это имя канала $user['1']
} else {
return abort(404);
}
}