PHP - 휴대폰 번호 짜르기 / 하이픈(-) 넣기 : preg_replace() 함수
2023. 12. 8.
목차
preg_replace()
문자열 내에서 정규 표현식을 사용하여 특정 패턴을 찾아 다른 문자열로 바꾸는(대체하는) 함수입니다.
preg_replace(
string|array $pattern,
string|array $replacement,
string|array $subject,
int $limit = -1,
int &$count = null
): string|array|null
// preg_replace(정규 표현식 패턴, 바꿀 문자열, 대상 문자열[, 대체 작업의 최대 횟수[, 카운트]]);
예시
preg_replace("/([0-9]{3})([0-9]{3,4})([0-9]{4})$/","\\1-\\2-\\3" ,$tel)
// 번호 타입별 하이픈 추가
function tel_hyphen($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 if(substr($tel,0,4) == '0502') {
// 안심번호
return preg_replace("/([0-9]{4})([0-9]{4})([0-9]{4})$/", "\\1-\\2-\\3", $tel);
} else {
// 나머지
return preg_replace("/([0-9]{3})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel);
}
}
매개변수
$pattern | 필수. 정규 표현식 또는 패턴을 지정합니다. 문자열이거나 문자열이 있는 배열일 수 있습니다. |
---|---|
$replacement | 필수. 찾은 패턴을 대체할 새로운 문자열 또는 문자열 배열을 지정합니다. |
$subject | 필수. 대상이 되는 문자열 또는 문자열 배열을 지정합니다. 여기에서 패턴을 찾아 대체 작업을 수행합니다. |
$limit | 옵션. 대체 작업의 최대 횟수를 지정합니다. 기본 값은 -1이며, 이 경우 모든 일치하는 부분이 대체됩니다. |
$count | 옵션. 대체 작업의 횟수를 저장하는 변수입니다. 기본 값은 null 입니다. preg_replace() 함수가 호출될 때, 이 변수에 대체 작업 횟수가 저장됩니다. 참조 변수입니다. |
domain_verification Source
PHP preg_replace() 함수 - 코딩에브리바디
preg_replace() 함수는 문자열 내에서 정규 표현식을 사용하여 특정 패턴을 찾아 다른 문자열로 바꾸는(대체하는) 함수입니다. preg_replace() 함수는 복잡한 문자열 대체 작업을 수행할 수 있습니다.
codingeverybody.kr