ラベル PHP の投稿を表示しています。 すべての投稿を表示
ラベル PHP の投稿を表示しています。 すべての投稿を表示

PHP 住所文字列から都道府県を分離するコード

 

PHP 住所文字列から都道府県を分離する

顧客管理データベースが住所を都道府県と残りの住所で分けて管理しているため、一続きで住所が送られてきた場合分離する必要が出てきた。まず、全都道府県のリストがほしいと思ってChatGptにつくってもらう。その後分離する関数を書いてもらった。


$prefectures = [
    '北海道',
    '青森県',
    '岩手県',
    '宮城県',
    '秋田県',
    '山形県',
    '福島県',
    '茨城県',
    '栃木県',
    '群馬県',
    '埼玉県',
    '千葉県',
    '東京都',
    '神奈川県',
    '新潟県',
    '富山県',
    '石川県',
    '福井県',
    '山梨県',
    '長野県',
    '岐阜県',
    '静岡県',
    '愛知県',
    '三重県',
    '滋賀県',
    '京都府',
    '大阪府',
    '兵庫県',
    '奈良県',
    '和歌山県',
    '鳥取県',
    '島根県',
    '岡山県',
    '広島県',
    '山口県',
    '徳島県',
    '香川県',
    '愛媛県',
    '高知県',
    '福岡県',
    '佐賀県',
    '長崎県',
    '熊本県',
    '大分県',
    '宮崎県',
    '鹿児島県',
    '沖縄県',
];
function splitAddress($address, $prefectures)
{
    $result = [];

    foreach ($prefectures as $prefecture) {
        // 都道府県が住所の先頭にある場合
        if (strpos($address, $prefecture) === 0) {
            $result[] = $prefecture;
            $result[] = ltrim(str_replace($prefecture, '', $address), '  ,');
            return $result;
        }
    }

    // 都道府県が見つからない場合
    $result[] = '';
    $result[] = $address;
    return $result;
}

// 例として使用する住所
$sampleAddress = '東京都 台東区鳥越';

// 分割関数の呼び出し
$splitResult = splitAddress($sampleAddress, $prefectures);

// 結果の表示
echo $splitResult[0] . ', ' . $splitResult[1];









PHP Fatal error: Call to undefined function wp_get_upload_dir()が出たときの対処

 

PHP Fatal error:  Call to undefined function wp_get_upload_dir()が出たときの対処

クリエイティブ部門からWordpressのHPが表示されないとの連絡。
PHP Fatal error:  Call to undefined function wp_get_upload_dir()
と表示、対象コードはmw-wp-formプラグインの

/public_html/wp-content/plugins/mw-wp-form/classes/models/class.directory.php
17行目

$upload_dir = wp_get_upload_dir();

この部分を下記に変更

$upload_dir = wp_upload_dir(null, false);

これでとりあえず表示されるようになった。
mw-wp-formプラグインは開発終了とのことでその対応中に発生した模様。ワードプレスの更新に対してプラグインが古く追従できなかった模様。

同じような事はwp_get_upload_dirを利用している、古い他のプラグインでも発生すると思われる。wp_upload_dir(null, false)に書き直せばとりあえず動作するようになります。
動作するようになったらプラグインを更新なり削除なりしましょう。