>백엔드 개발 >PHP 튜토리얼 >PHP Regex를 사용하여 다양한 URL에서 YouTube 비디오 ID를 추출하는 방법은 무엇입니까?

PHP Regex를 사용하여 다양한 URL에서 YouTube 비디오 ID를 추출하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-08 02:50:11429검색

How to Extract YouTube Video IDs from Various URLs Using PHP Regex?

PHP Regex로 YouTube 동영상 ID 구문 분석

PHP의 preg_match를 사용하여 YouTube URL에서 동영상 ID를 구문 분석하려면 다음과 같은 향상된 정규식을 사용하세요. 표현식:

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

이점:

  • 범용 호환성: 이 정규식은 youtu를 포함한 다양한 YouTube URL 형식에서 동영상 ID를 캡처합니다. .be, watch?v= 및 삽입 코드.
  • 예외 처리: URL에서 동영상 ID 뒤에 있는 추가 문자를 무시하여 안정적인 추출을 보장합니다.
  • 대체 URL 지원: 정규식은 다음에서 호스팅되는 YouTube URL도 처리합니다. youtube-nocookie.com.

사용:

$subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";
preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $subject, $matches);

print "<pre class="brush:php;toolbar:false">";
print_r($matches);
print "
";

샘플 입력/출력:

Input URL Output
http://youtu.be/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/e/dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ z_AbfPXTKms
http://www.youtube-nocookie.com/watch?v=dQw4w9WgXcQ z_AbfPXTKms

위 내용은 PHP Regex를 사용하여 다양한 URL에서 YouTube 비디오 ID를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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