테스트 사이트 - 개발 중인 베타 버전입니다

문자열을 뒤에서 자를수 있나요? 채택완료

고향의맛 1년 전 조회 1,881

제주특별자치도 제주시 애월읍 가문동길 2

 

위 주소를 wr_1 여분필드에 담았을때

 

가문동길 2

 

위에 처럼 뒤에 주소만 출력되게 할수 있나요??

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트

@sinbi, @균이 님의 답변처럼 그런 부분들을 생각하지 못했네요.

다음과 같은 방법으로 해 볼 수 있지 않을까 합니다.

</p>

<p><?php</p>

<p>$address = "제주특별자치도 제주시 애월읍 가문로 11번길 1-1 101호";</p>

<p>// "시", "군", "구", "읍"을 포함한 부분을 찾고 그 이후의 부분을 출력

if (preg_match('/[^\s]+ [^\s]+ [^\s]+([^\s]+.*)/', $address, $matches)) {

    $result = trim($matches[1]);

    echo $result;

} else {

    echo "주소에서 원하는 부분을 찾을 수 없습니다.";

}</p>

<p>?></p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

고향의맛
1년 전
알려주신 방법으로 처리하였습니다! 다만 앞에 � 인코딩 오류난 문자가 보이는데 이건 어떻게 해결 할 수 있을까요?

댓글을 작성하려면 로그인이 필요합니다.

Big1
1년 전

주소 찾기 RESTAPI에 넣어서 결과값으로 처리하시는 건 어떤가요?

https://developers.kakao.com/docs/latest/ko/local/dev-guide#address-coord-response-body-document-road-address">REST API | Kakao Developers 문서

response.documents[0].road_address.road_name 정도로 가져다 쓰시면 될 듯

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

1년 전

뒤에 오는 주소가 일정하지않은데....

가문동길 ABC아파트 101동 101호 <--이런 경우는?

가문로 11번길 1-1 101호 등등

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
1년 전

기본주소 패턴이 어떠냐에 따라 가능 여부 결정될 듯.

preg_match, substr, explode 등 함수 공부해 보세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

정규식을 사용해서 다음과 같이 해 볼 수 있을 것 같습니다.

</p>

<p><?php</p>

<p>$address = "제주특별자치도 제주시 애월읍 가문동길 2";</p>

<p>// 정규표현식을 사용하여 뒷부분만 추출

if (preg_match('/\w+\s(\d+)$/', $address, $matches)) {

    $result = $matches[1];

    echo $result;

} else {

    echo "주소 형식이 맞지 않습니다.";

}</p>

<p>?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

s
sinbi
1년 전
테스트 해보니, 결과값이 [주소 형식이 맞지 않습니다.]로 나와요.
웹메이킹
1년 전
[code]
<?php
$wr_1 = "제주특별자치도 제주시 애월읍 가문동길 2";

// 정규표현식을 사용하여 뒷부분만 추출
if (preg_match('/\s([^\s]+)$/', $wr_1, $matches)) {
$result = $matches[1];
echo $result;
} else {
echo "주소 형식이 맞지 않습니다.";
}
?>
[/code]
정규표현식을 수정하니까 작동은 잘 됩니다.
s
sinbi
1년 전
테스트해보니,이번엔 2만 찍힙니다.

댓글을 작성하려면 로그인이 필요합니다.

1년 전

패턴이 동일 하다면 빈공간으로 배열로 만들고 나서 배열 갯수를 세고 뒤에 2개만 나오게 하시면 될거 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인