function formatPhoneNumber($phoneNumber) {
// 数字以外の文字を削除する
$phoneNumber = preg_replace('/[^0-9]/', '', $phoneNumber);
// 電話番号の長さが10桁未満または11桁以上の場合はエラーを返す
if (strlen($phoneNumber) < 10 || strlen($phoneNumber) > 11) {
return 'エラー: 電話番号の長さが正しくありません。';
}
// 11桁の場合は最初の1桁を削除する
if (strlen($phoneNumber) === 11) {
$phoneNumber = substr($phoneNumber, 1);
}
// ハイフンを挿入してフォーマットする
$formattedPhoneNumber = substr($phoneNumber, 0, 3) . '-' . substr($phoneNumber, 3, 4) . '-' . substr($phoneNumber, 7);
return $formattedPhoneNumber;
}
// 使用例
$phoneNumber = '09012345678';
$formattedPhoneNumber = formatPhoneNumber($phoneNumber);
echo $formattedPhoneNumber; // 結果: 090-1234-5678
上記のコードでは、formatPhoneNumber
という関数を定義しています。この関数は、与えられた電話番号を数字のみの形式に変換し、適切な長さであるかを確認します。11桁の場合は最初の1桁を削除し、最後にハイフンを挿入してフォーマットされた電話番号を返します。
使用例では、$phoneNumber
変数に電話番号を代入し、formatPhoneNumber
関数を呼び出してフォーマットされた電話番号を取得し、それを表示しています。
この方法を使用すると、PHPで電話番号をハイフンを含む形式で簡単にフォーマットすることができます。