Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP로 YouTube 동영상 ID 추출하기: parse_url과 parse_str 활용법

PHP에서는 parse_urlparse_str 함수를 조합하면 정규식 없이도 간단하게 YouTube 동영상 ID를 추출할 수 있습니다.

예제 코드

<?php
    $url = "https://www.youtube.com/watch?v=VX96I7PO8YU";
    parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array );
    echo $my_array['v'];
?>

실행 결과

VX96I7PO8YU

코드 동작 원리

parse_url 함수는 URL 문자열을 받아 구성 요소별 정보 배열로 분해합니다. 두 번째 인자에 PHP_URL_QUERY와 같은 상수를 지정하면 쿼리 문자열 부분만 선택적으로 가져올 수 있고, 인자를 생략하면 전체 정보를 담은 배열이 반환됩니다.

YouTube 동영상의 ID는 URL에서 확인할 수 있으며, 일반적으로 v 파라미터 뒤에서 & 기호 이전까지의 값에 해당합니다. 위 예제에서 parse_str 함수가 바로 이 역할을 수행합니다. 이 함수는 GET 방식의 쿼리 문자열과 유사하게 동작하여, 문자열을 분석하고 해당 키를 기반으로 변수를 생성합니다.

parse_str의 안전한 사용 방식

예를 들어 v=5R60Tpz3Bow라는 쿼리 문자열이 있다면, parse_str$v라는 변수를 생성합니다. 하지만 두 번째 인자로 배열을 전달하면 결과가 배열 요소로 저장되기 때문에, 기존 변수가 의도치 않게 덮어써지는 문제를 방지할 수 있습니다. 따라서 항상 배열 형태로 결과를 받는 것이 안전합니다.

참고: 정규식(regex) 역시 다양한 문자열 처리 문제를 해결하는 데 유용하지만, 패턴이 복잡해질수록 오류가 발생하기 쉽습니다. 특히 URL 파싱처럼 검증된 내장 함수로 처리할 수 있는 작업이라면, 가독성과 안정성 측면에서 parse_urlparse_str 같은 함수를 우선적으로 활용하는 것이 좋습니다.