CI4

[코드이그나이터] 전화번호의 숫자만 취한 후 중간에 하이픈(-) 삽입 헬퍼 함수

으누아빠 2020. 9. 11. 04:32
반응형
if (!function_exists('format_phone')) {

    /**
     * 전화번호의 숫자만 취한 후 중간에 하이픈(-) 삽입
     *
     * @param string  $tel  전화번호
     *
     * @return string
     */
    function format_phone(string $tel)
    {
        $tel = str_replace('-', '', $tel);
        $tel = preg_replace("/[^0-9]/", "", $tel);

        if (substr($tel, 0, 2) == '02') {
            return preg_replace("/([0-9]{2})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel);
        } else if (strlen($tel) == '8' && (substr($tel, 0, 2) == '15' || substr($tel, 0, 2) == '16' || substr($tel, 0, 2) == '18')) {
            return preg_replace("/([0-9]{4})([0-9]{4})$/", "\\1-\\2", $tel);
        } else {
            return preg_replace("/([0-9]{3})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel);
        }
    }
}

실행

$phone_num = format_phone('15881234');
echo ($phone_num); //출력: 1588-1234