>백엔드 개발 >PHP 튜토리얼 >정규 표현식을 사용하여 YouTube 동영상 ID를 안정적으로 추출하는 방법은 무엇입니까?

정규 표현식을 사용하여 YouTube 동영상 ID를 안정적으로 추출하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-03 17:50:15852검색

How to Reliably Extract YouTube Video IDs Using Regular Expressions?

preg_match를 사용하여 YouTube 동영상 ID 구문 분석

preg_match를 사용하여 YouTube URL에서 동영상 ID를 파생시키려고 하면 제공된 패턴에서 문제가 발생합니다. "알 수 없는 수정자 '[' 오류"가 발생합니다. 이 문제를 해결하기 위해 다양한 URL 형식에서 비디오 ID를 효과적으로 캡처하는 대체 정규식이 제공됩니다.

개선된 정규식은 다음과 같습니다.

if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $url, $match)) {
    $video_id = $match[1];
}

이 패턴은 다음 URL과 성공적으로 일치합니다. 형식:

  • 전체 URL: http://www.youtube.com/watch?v=dQw4w9WgXcQ
  • 삽입 URL: http://www.youtube.com/embed/dQw4w9WgXcQ
  • 짧은 URL: http://youtu.be/dQw4w9WgXcQ
  • 검색 URL: http://www.youtube.com/?v=dQw4w9WgXcQ
  • 사용자 URL: http://www.youtube.com/user/username#p/u/11/dQw4w9WgXcQ
  • 채널 URL: http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ
  • 삽입된 URL(iframe): http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
  • 삽입된 URL(객체): http://www.youtube.com/?feature=player_embedded&v= dQw4w9WgXcQ

이것을 활용 정규식을 사용하면 다양한 YouTube URL에서 동영상 ID를 안정적으로 추출할 수 있습니다.

위 내용은 정규 표현식을 사용하여 YouTube 동영상 ID를 안정적으로 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.