테스트 사이트 - 개발 중인 베타 버전입니다

문자열에 휴대폰번호가 있으면 010-***-****으로 변경.

문자열에 휴대폰번호가 있으면 010 빼고 다 ***이런식으로 숨기는 방법입니다.

문자열에 휴대폰번호가 여러개 있어도 됩니다.

[code]

<?php
$test = "안녕하세요 제번호는 010-134-5678 입니다.";

// - 있는 핸드폰번호 정규식
$pattern = "/([0]{1}[1]{1}[016789]{1})-([0-9]{3,4})-([0-9]{4})/";
// 정규식에 일치하는 문자열을 배열로 가져옴.
preg_match_all($pattern, $test, $matches);

// 가져온 배열은 foreach
foreach ($matches[0] as $value) {
 //핸드폰번호를 - 로 나눔.
 $phone = explode("-", $value);
 //나눈 번호를 2,3번째 값만 숫자를 *로 변경
 $change = $phone[0]."-".preg_replace("/(\d)/", "*", $phone[1])."-".preg_replace("/(\d)/", "*", $phone[2]);
 //기존 문자열에서 핸드폰번호를 바꾼번호로 변경
 $test = str_replace($value, $change, $test);
}

//테스트
echo $test;
?>

[/code]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 16개

와우 필요했던 소스예요 감사합니다!
사용해주시는 분이 있어서 뿌듯하네요^^
엄지척~~ 좋은 코드 감사합니다.
엄지척 감사드립니다^^
좋은 소스 감사합니다.
잘 써주시면 감사하겠습니다^^
잘 사용하겠습니다. 감사합니다....^^b
감사합니다!! 짱이에요!!
오옷 궁굼했었던건데 감사합니다.
이것 찾고 있었는데... 접속하자 마자 바로 보이네요 ㅎㅎ 감사합니다!!!
좋은정보감사합니다
알짜배기 정보 제공에 감사드립니다.
저도 엄지척!!! 하려 했는데, 작년자료네요~~
아까비~~~~
$str= preg_replace("/([0]{1}[1]{1}[016789]{1})-([0-9]{3,4})-([0-9]{4})/", "010-****-****", $str);

한줄이면 될거 같은데...

게시판 목록

개발강좌

프로그램 강좌 :
1. 유창화님의 썸네일, 정규표현식, 이미지관련 강좌
2. Sphinx 검색엔진을 이용한 도로명 주소 검색 시스템 구축
글쓰기