>백엔드 개발 >PHP 튜토리얼 >`preg_match`를 사용하여 다양한 URL에서 YouTube 동영상 ID를 안정적으로 추출하려면 어떻게 해야 합니까?

`preg_match`를 사용하여 다양한 URL에서 YouTube 동영상 ID를 안정적으로 추출하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-09 01:33:10285검색

How Can I Reliably Extract YouTube Video IDs from Various URLs using `preg_match`?

preg_match를 사용하여 YouTube 동영상 ID 구문 분석: 확장 솔루션

YouTube 동영상 ID를 추출해야 하는 필요성은 다양한 웹 개발 시나리오에서 자주 발생합니다. 이러한 맥락에서 preg_match를 사용하여 URL에서 비디오 ID를 구문 분석하는 문제에 직면할 수 있습니다. 처음에 찾은 정규식은 유망해 보일 수 있지만 오류로 이어질 수 있는 암호화된 수정자와 그룹을 포함하고 있습니다.

향상된 접근 방식은 광범위한 YouTube URL 형식을 포괄하는 보다 포괄적인 정규식을 활용하는 것입니다. 다음은 권장되는 개선된 정규 표현식입니다.

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

이 확장 정규 표현식은 다음 URL을 캡처합니다. 형식:

  • http://youtu.be/dQw4w9WgXcQ
  • http://www.youtube.com/embed/dQw4w9WgXcQ
  • http://www .youtube.com/watch?v=dQw4w9WgXcQ
  • http://www.youtube.com/?v=dQw4w9WgXcQ
  • http://www.youtube.com/v/dQw4w9WgXcQ
  • http://www.youtube. com/e/dQw4w9WgXcQ
  • http://www. youtube.com/user/username#p/u/11/dQw4w9WgXcQ
  • http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ
  • http: //www.yo utube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
  • http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ

추가로, 이 솔루션은 "youtube.com"과 "youtube-nocookie.com"의 URL뿐만 아니라 iframe 및 개체 태그에 포함된 URL도 포함합니다.

요약하면 이 개선된 접근 방식은 YouTube 추출을 위한 포괄적인 솔루션을 제공합니다. 다양한 URL 형식의 동영상 ID를 제공하여 정확성과 사용 편의성을 보장합니다.

위 내용은 `preg_match`를 사용하여 다양한 URL에서 YouTube 동영상 ID를 안정적으로 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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