phpで電話番号のハイフンをパターン化して、正規表現で出力するfunction。
DBには電話番号の検索がしやすいようにハイフン無しで格納する。
ページ上では、携帯・市外局番2桁・3桁・なしのパターンによって、ハイフン有りで出力するためのfunction。
php関連記事
phpで10進数と16進数、2進数、8進数の変換と0埋め表記
WordPressの条件分岐タグでページを判別する
PHPでpreg_splitの文字化けを回避しながらテキストを改行ごとに区切ってHTMLメールをつくる
WordPressテーマアップロード時に「辿ったリンクは期限が切れています。 もう一度お試しください。」と表示される
PHPで画像アップロード時に比率を保ったまま縮小する
phpで郵便番号を正規表現で3桁・ハイフン・4桁で出力するfunction
phpで電話番号のハイフンを正規表現で出力するfunction
【MySQL】無いならINSERT、あるならUPDATEする、ON DUPLICATE KEY UPDATE構文
phpで今日の日付から現在の年度を判別して一覧を作成する方法
電話番号を出力する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; }
コメント