Loading...

ホームページ制作は相模原市にあるオフィス木蓮

  • 042-812-7728
  • 営業時間 9:00~18:00
  • 日曜・祝日はお休み

スタッフブログ

PHP で住所から
都道府県を取り除く

住所から都道府県を取り除くサンプルは検索するとたくさんヒットしますが、次の条件でのご依頼があり、悩みましたのでここに記載しておきます。

  • (都道府県)+(市区町村から番地)+(建物名から部屋番号)が1つの文字列である。
  • (都道府県)が記載されている場合とない場合がある。
  • (建物名)に都道府県の名称が含まれている場合がある。

上の条件の住所を「(市区町村から番地)+(建物名から部屋番号)」で統一したい」がご依頼内容です。 「鹿児島県鹿児島市~」もあれば「鹿児島市~」もあり、さらに建物名に「鹿児島県」があったり・・・。 検索すると正規表現を利用しての例などいろいろありましたが、結果的に以下のコードに落ち着きました。 要は住所の頭3文字を抽出し、該当する都道府県名を選出。選出した都道府県名の文字列を取得して、住所の先頭からその文字列分を抽出し選出した文字列と比較し処理する方法です。文章で説明するよりコードをみた方がわかると思います。

<?php
define( '_CHARSET', 'UTF-8' );

function setPref( $mode ){
	$pref = array(
				1 => '北海道',
				2 => '青森県',
				3 => '岩手県',
				4 => '宮城県',
				5 => '秋田県',
				6 => '山形県',
				7 => '福島県',
				8 => '茨城県',
				9 => '栃木県',
				10 => '群馬県',
				11 => '埼玉県',
				12 => '千葉県',
				13 => '東京都',
				14 => '神奈川県',
				15 => '新潟県',
				16 => '富山県',
				17 => '石川県',
				18 => '福井県',
				19 => '山梨県',
				20 => '長野県',
				21 => '岐阜県',
				22 => '静岡県',
				23 => '愛知県',
				24 => '三重県',
				25 => '滋賀県',
				26 => '京都府',
				27 => '大阪府',
				28 => '兵庫県',
				29 => '奈良県',
				30 => '和歌山県',
				31 => '鳥取県',
				32 => '島根県',
				33 => '岡山県',
				34 => '広島県',
				35 => '山口県',
				36 => '徳島県',
				37 => '香川県',
				38 => '愛媛県',
				39 => '高知県',
				40 => '福岡県',
				41 => '佐賀県',
				42 => '長崎県',
				43 => '熊本県',
				44 => '大分県',
				45 => '宮崎県',
				46 => '鹿児島県',
				47 => '沖縄県'
			);
	if( $mode == 1 ){
		$pref[14] = '神奈川';
		$pref[30] = '和歌山';
		$pref[46] = '鹿児島';
	}
	return( $pref );
}

function prefFormat( $str = '' ){
	$address = '';
	if( strlen( $str ) > 0 ){
		$add         = $str;
		$prefListAll = setPref( 0 );
		$prefList3tx = setPref( 1 );
		$cutFirstAdd = mb_substr( $str, 0, 3, _CHARSET );
		$prefNo      = array_search( $cutFirstAdd, $prefList3tx );
		if( $prefNo > 0 && $prefNo <= count( $prefList3tx ) ){
			$prefLen = mb_strlen( $prefListAll[$prefNo], _CHARSET );
			$cutStr  = mb_substr( $str, 0, $prefLen, _CHARSET );
			if( $prefListAll[$prefNo] == $cutStr ){
				$add = mb_substr( $str, mb_strlen( $prefListAll[$prefNo], _CHARSET ), mb_strlen( $str, _CHARSET ), _CHARSET );
			}
		}
		$address = mb_convert_kana( $add, 'KVas', _CHARSET );
	}
	return( $address );
}

$str = '神奈川県相模原市中央区淵野辺1-19-25 神奈川県のある建物';
echo( prefFormat( $str ) );
?>

ホームページ制作を承ります

相模原市にある会社・店舗・事務所様からのご依頼大歓迎!

【士業】
弁護士(法律事務所),公認会計士,税理士,司法書士,行政書士,社会保険労務士など
【住まい】
不動産,工務店,建設・建築会社,設計事務所,リフォーム会社,建物管理会社,電気工事,水道工事など
【乗り物】
中古車ショップ,バイクショップ,自転車ショップ,自動車整備,運転代行など
【飲食業】
レストラン,カフェ,甘味処,洋菓子店,パン屋など
【医療・福祉】
病院,クリニック,歯科医,整体院,接骨院,介護センターなど
【美容・健康】
トレーニングジム,エステサロン,ネイルサロン,美容院,美容室など
【教育・育児】
専門学校,学習塾,幼稚園,保育園,認定保育園,カルチャースクール,パソコン教室など
【その他】
イベントサイト,産業廃棄事業,リサイクルショップ,雑貨店,ペットショップ,旅館,楽天市場店舗・Yahoo!ストア・MakeShopなど
【外注元】
デザイン事務所、広告代理店、ホームページ制作会社など

上記以外の業種でもホームページ制作・WEBシステム/アプリケーション開発につきましては、神奈川県相模原市中央区にあるオフィス木蓮までお気軽にご連絡・お問い合わせください。スマートフォン・タブレット対応、WordPress によるホームページ制作もお任せ下さい。他社が制作されたホームページでも対応します。また、ウェブアクセシビリティ(Webアクセシビリティ)対応のご相談も承ります。

相模原市にある会社・店舗・事務所のホームページ制作承ります