URL에서 마지막 부분만 추출하고 싶다면 PHP의 preg_match() 함수를 활용하면 됩니다. 정규 표현식을 이용하면 URL 끝에 있는 숫자나 문자열을 간단하게 분리할 수 있습니다.
입력 URL 예시
다음과 같은 URL이 있다고 가정해 보겠습니다.
$websiteAddress = 'https://www.tutorialspoint.com/java/java_questions_answers/9989809898';
여기서 우리가 얻고자 하는 값은 URL 맨 뒤에 위치한 숫자 부분입니다.
9989809898
예제 코드
다음은 preg_match()를 사용하여 URL의 마지막 부분을 가져오는 PHP 코드입니다.
<!DOCTYPE html>
<html>
<body>
<?php
$websiteAddress = 'https://www.tutorialspoint.com/java/java_questions_answers/9989809898';
if(preg_match("/\/(\d+)$/", $websiteAddress, $recordMatch)){
$lastResult = $recordMatch[1];
}
echo "The result is as follows:", $lastResult;
?>
</body>
</html>
코드 설명
정규 표현식 /\/(\d+)$/의 구성 요소를 살펴보면 다음과 같습니다.
\/: 슬래시(/) 문자와 일치합니다.(\d+): 하나 이상의 연속된 숫자를 캡처 그룹으로 저장합니다.$: 문자열의 끝을 의미하므로, URL 마지막에 오는 숫자만 대상이 됩니다.
매칭에 성공하면 캡처된 값이 $recordMatch[1]에 저장되며, 이것이 바로 우리가 원하는 URL의 마지막 부분입니다.
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
The result is as follows: 9989809898
이처럼 preg_match()와 정규 표현식을 조합하면 복잡한 문자열 처리 없이도 URL에서 원하는 부분을 손쉽게 추출할 수 있습니다. 만약 숫자가 아닌 일반 문자열을 추출하려면 (\d+) 대신 ([^\/]+)$ 패턴을 사용하면 됩니다.