<?php
/*
PHP 정규식 사용하여 휴대폰 번호의 중간 4 자리를 별표(*)로 표시
작성자 : 웹인스토리
웹 사이트 : https://webinstory.tistory.com
*/
//Method 1:
function hidtel($phone){
$IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone);
if($IsWhat == 1){
return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone);
}else{
return preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);
}
}
//Method 2:
$num = "01012345678"
$str = substr_replace($num,'****',3,4);
//예제:
$phonenum = "01012345678";
echo hidtel($phonenum);
//결과:010****5678
//Method 3:정규식 이용
$phone_num = "01011112222";
preg_replace("/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/", "$1-****-$3", $phone_num);
//결과 : 010-****-2222
?>