Cheizer
@Cheizer

Как из URL вырезать слово?

Приветствую, помогите по регулярке друзья, есть код небольшой, удаляет из URL ролика с youtube все лишнее кроме id видео
if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $input, $match)) { 
    return $match[1]; 
}

все работает отлично, но когда ему отдаешь URL с shorts видео https://www.youtube.com/shorts/62ls8gYbuO8, то он не работает, как это пофиксить? Как дополнить код? Регулярка для меня вообще темный лес.
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
В лоб

if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $input, $match)) { 
    return $match[1]; 
} else {
  return str_replace('https://www.youtube.com/shorts/', '', $input);
}


да и регулярка нафиг нужна?
распарсить ссылку функцией parse_url и достать параметр "v" из querystring намного проще и понятнее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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