Использование preg_match для фильтрации URL-адресов YouTube в php - PullRequest
0 голосов
/ 07 февраля 2012

Я использую следующий код для преобразования URL-адресов YouTube в своих сообщениях во встроенные видео. Но это не работает, если я добавляю URL в формате https: // и youtu.be. Как мне это исправить?

  $youtube_url = "/http:\/\/www\.youtube\.com\/watch\?(.*?)v=([a-zA-Z0-9_\-]+)(\S*)/i";
  if (preg_match($youtube_url, $text, $youtube)){
   // echo "match found";
  }

1 Ответ

3 голосов
/ 10 февраля 2012

Регулярное выражение будет выглядеть как /https?:\/\/(?:www\.)?youtu(?:\.be|be\.com)\/watch(?:\?(.*?)&|\?)v=([a-zA-Z0-9_\-]+)(\S*)/i

s? означает необязательный символ s. В этом регулярном выражении больше нечего комментировать.

...