juso.go.kr 사이트에 Python selenium 으로 조회하여 반환받은 결과를 DB에 넣고자 하는데 지번주소 세부주소까지 나오는 데이터가 있다.
이를 파싱처리는 코드를 PHP로 구현하고 적어둔다.
주소를 살펴보다 확인 결과 세종로 같은 경우가 빠져있다.
<?php
ini_set("display_startup_errors", 1);
ini_set("display_errors", 1);
error_reporting(E_ALL);
$address = '경기도 평택시 안중읍 안중리 산 69-7번지';
$address = '인천광역시 강화군 화도면 사기리 502-1번지';
$address = '경기도 부천시 소사구 괴안동 105-3 역곡현대아파트2차';
$address = '경기도 부천시 오정구 여월동 329 부천소방서 여월119안전센터';
preg_match('/(.+?)동\s/', $address,$out);
if(!empty($out) && strlen($out[0])>0) {
$jusoDong = preg_replace("/\s{2,}/"," ",$out[0]);
$str = explode($out[0],$address);
$vout = explode(" ",$str[1]);
$jiAddress = $jusoDong.' '.$vout[0];
$jiAddress = preg_replace("/\s{2,}/"," ",$jiAddress);
echo $jiAddress.'<br/>';
} else {
preg_match('/(.+?)가\s/', $address,$out);
if(!empty($out) && strlen($out[0])>0) {
$jusoDong = preg_replace("/\s{2,}/"," ",$out[0]);
echo $jusoDong.'<br/>';
} else {
preg_match('/(.+?)[읍,면]\s/', $address,$out);
if(!empty($out) && strlen($out[0])>0) {
$str = explode($out[0],$address);
preg_match('/(.+?)리\s/', $str[1],$vout);
if(!empty($vout) && strlen($vout[0])>0) {
$jusoDong = trim($out[0].' '.$vout[0]);
$jusoDong = preg_replace("/\s{2,}/"," ",$jusoDong);
echo $jusoDong.'<br/>';
} else {
echo $address.'<br/>';
}
}
}
}
?>
|
'Web 프로그램 > JSON, 파싱 다루기' 카테고리의 다른 글
없는 지번 주소 (0) | 2024.03.23 |
---|---|
PHP 네이버 날씨정보 파싱(대구와 부산) (0) | 2019.02.06 |
PHP Simple HTML DOM Parser 를 활용한 네이버 날씨정보 파싱 (3) | 2019.02.06 |
PHP json_encode 를 jQuey에서 처리하는 걸 파헤져봤다. (0) | 2019.01.25 |
PHP json_encode로 전달받은 jQuery JSON 데이터를 Array 파싱처리 (0) | 2019.01.24 |