chelkaz
@chelkaz

Как можно улучшить эту проверку URL?

Суть вопроса вот какая. Приходит любой URL, его нужно проверить, что он принадлежит сервису Ютуб, и если он принадлежит, то проверить на содержание id или видео, или id канала:
Или может быть в место id канала, его ник.
Вот пример URL которые содержат id каналов:
В данном случаи это UCUs7vT6w345rNv65Sb2ToIz
https://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);
    }
}
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 2
muhammad_97
@muhammad_97
PHP-разработчик
Одна строка: parse_url
Ответ написан
Я бы использовал регулярки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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