
phpで電話番号のハイフンをパターン化して、正規表現で出力するfunction。
DBには電話番号の検索がしやすいようにハイフン無しで格納する。
ページ上では、携帯・市外局番2桁・3桁・なしのパターンによって、ハイフン有りで出力するためのfunction。
php関連記事

PHPのmb_send_mailでメール送信時に、はしご高「髙」やたつさき「﨑」など旧漢字や丸数字の日本語文字化け対策をする

MySQL/MariaDBのデータをPHP側で暗号化・復号する

phpで10進数と16進数、2進数、8進数の変換と0埋め表記

WordPressの条件分岐タグでページを判別する

PHPでpreg_splitの文字化けを回避しながらテキストを改行ごとに区切ってHTMLメールをつくる

WordPressテーマアップロード時に「辿ったリンクは期限が切れています。 もう一度お試しください。」と表示される

PHPで画像アップロード時に比率を保ったまま縮小する

phpで郵便番号を正規表現で3桁・ハイフン・4桁で出力するfunction

phpで電話番号のハイフンを正規表現で出力するfunction
電話番号を出力するfunction
php
function format($input) {
$input = str_replace("-", "", $input);
//変数宣言
$category = array(
"normal" => "/^0[^346]\d{8}$/",
"mobile" => "/^\d{11}$/",
"tokyo" => "/^0[346]\d{7}$/",
"none" => "/^\d{7}$/",
);
$pattern = array(
"normal" => "/(\d{3})(\d{3})(\d{4})/",
"mobile" => "/(\d{3})(\d{4})(\d{4})/",
"tokyo" => "/(\d{2})(\d{3})(\d{4})/",
"none" => "/(\d{3})(\d{4})/",
);
$rep = array(
"normal" => "$1-$2-$3",
"none" => "$1-$2",
);
//携帯なら
if(preg_match($category['mobile'],$input)) {
$result = preg_replace($pattern['mobile'],$rep['normal'],$input);
}
//市外局番2桁なら
elseif(preg_match($category['tokyo'],$input)) {
$result = preg_replace($pattern['tokyo'],$rep['normal'],$input);
}
//普通の市外局番なら
elseif(preg_match($category['normal'],$input)) {
$result = preg_replace($pattern['normal'],$rep['normal'],$input);
}
//市外局番なしなら
elseif(preg_match($category['none'],$input)) {
$result = preg_replace($pattern['none'],$rep['none'],$input);
}
//その他なら
else {
$result = $input;
}
return $result;
}


コメント