PHP Regex для получения идентификатора видео YouTube и времени началаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 PHP Regex для получения идентификатора видео YouTube и времени начала

Сообщение Anonymous »

Мне нужно было извлечь идентификатор видео и время начала из любого URL-адреса YouTube, который могут ввести пользователи. У меня есть работающее решение, но оно неверное.
Вопросы:
  • Могло бы кто-нибудь поможет мне исправить шаблон preg_match для обработки URL-адресов, прокомментированных в тестах?
  • Есть ли какой-либо другой URL-адрес YouTube?
ОБНОВЛЕНИЕ 16.01.2024: Он также должен работать и со списками воспроизведения.
Я проверил эту страницу stackoverflow, чтобы создать свой собственный анализатор URL-адресов YouTube.
Этот preg_match может извлечь идентификатор видео и время начала, но не может обрабатывать множество различных форматов URL-адресов YouTube:
preg_match("/[a-zA-Z\/\/:\.]*youtu(?:be.com\/watch\?v=|.be\/)([a-zA-Z0-9\-_]+)(?:[&?\/]t=)?(\d*)(?:[a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", $url, $matches);

Этот preg_match обрабатывает множество разных URL-адресов YouTube (может быть, все виды?), но не извлекает время начала:
preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user|shorts)\/))([^\?&\"'>]+)/", $url, $matches);

Я изменил его, и у меня все работает, но я знаю, что мое изменение неверно, потому что я неправильно анализирую конец URL-адреса:
preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user|shorts)\/))([^\?&\"'>]+)(?:[&?\/]t=)?(\d*)/", $url, $matches);

Код


Подробнее здесь: https://stackoverflow.com/questions/793 ... start-time
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • PHP Regex для получения идентификатора видео YouTube и времени начала
    Anonymous » » в форуме Php
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • PHP Regex для получения идентификатора видео YouTube и времени начала
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • PHP Regex для получения идентификатора видео YouTube и времени начала
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • PHP Regex для получения идентификатора видео YouTube и времени начала
    Anonymous » » в форуме Php
    0 Ответы
    2058 Просмотры
    Последнее сообщение Anonymous
  • PHP Regex для получения идентификатора видео YouTube и времени начала
    Anonymous » » в форуме Php
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»