문자열을 뒤에서 자를수 있나요?
본문
제주특별자치도 제주시 애월읍 가문동길 2
위 주소를 wr_1 여분필드에 담았을때
가문동길 2
위에 처럼 뒤에 주소만 출력되게 할수 있나요??
답변 6
@sinbi, @균이 님의 답변처럼 그런 부분들을 생각하지 못했네요.
다음과 같은 방법으로 해 볼 수 있지 않을까 합니다.
<?php
$address = "제주특별자치도 제주시 애월읍 가문로 11번길 1-1 101호";
// "시", "군", "구", "읍"을 포함한 부분을 찾고 그 이후의 부분을 출력
if (preg_match('/[^\s]+ [^\s]+ [^\s]+([^\s]+.*)/', $address, $matches)) {
$result = trim($matches[1]);
echo $result;
} else {
echo "주소에서 원하는 부분을 찾을 수 없습니다.";
}
?>
!-->
기본주소 패턴이 어떠냐에 따라 가능 여부 결정될 듯.
preg_match, substr, explode 등 함수 공부해 보세요.
패턴이 동일 하다면 빈공간으로 배열로 만들고 나서 배열 갯수를 세고 뒤에 2개만 나오게 하시면 될거 같습니다.
정규식을 사용해서 다음과 같이 해 볼 수 있을 것 같습니다.
<?php
$address = "제주특별자치도 제주시 애월읍 가문동길 2";
// 정규표현식을 사용하여 뒷부분만 추출
if (preg_match('/\w+\s(\d+)$/', $address, $matches)) {
$result = $matches[1];
echo $result;
} else {
echo "주소 형식이 맞지 않습니다.";
}
?>
뒤에 오는 주소가 일정하지않은데....
가문동길 ABC아파트 101동 101호 <--이런 경우는?
가문로 11번길 1-1 101호 등등
주소 찾기 RESTAPI에 넣어서 결과값으로 처리하시는 건 어떤가요?
REST API | Kakao Developers 문서
response.documents[0].road_address.road_name 정도로 가져다 쓰시면 될 듯
답변을 작성하시기 전에 로그인 해주세요.