[정규식] 재미난 정규식 10 > 퀴즈게시판

퀴즈게시판

답을 맞히시면, 문제를 내신 회원님이 채택을 해드립니다.
채택은 '좋아요'와 같습니다.

[정규식] 재미난 정규식 10 정보

[정규식] 재미난 정규식 10

본문

재미난 정규식이 10 회까지 왔네요. 

제목 없음20131219201331.png
(개인정보 뭐시기 떠서 이미지로 처리했습니다 --; )


댓글 11개

<?php
$str = <<<EOT
*** 개인정보보호를 위한 휴대폰번호 노출방지 ***
*** 개인정보보호를 위한 전화번호 노출방지 ***
044-765-4321
EOT;

function callback($m)
{
    return $m[1].str_repeat('*', strlen($m[2])).$m[3];
}

// 원래는 간단한 코드로 했다가 * 갯수를 숫자 갯수 만큼 맞추기 위해 callback 을 사용했습니다.
echo preg_replace_callback('#(\d+-)(\d+)(-\d+)#S', 'callback', $str);
?>
  • 채택 0
e 변경자를 사용해야 하나요?

preg_match 후에 for 문이나 다른 함수 사용하는 것 아니죠?

*** 개인정보보호를 위한 휴대폰번호 노출방지 *** -> 010-***-4567
*** 개인정보보호를 위한 전화번호 노출방지 ***  -> 02-****-4567
044-765-4321 -> 044-***-4321

로 한방에 나와야 하는거죠?
  • 채택 0
<?php
$str = <<<EOT
*** 개인정보보호를 위한 휴대폰번호 노출방지 ***
*** 개인정보보호를 위한 전화번호 노출방지 ***
044-765-4321
EOT;

echo preg_replace("#(\d+-)(\d+)(-\d+)#e", '"$1".str_repeat("*",strlen("$2"))."$3"', $str);
?>

http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
e 변경자는 PHP 5.5.0 부터 DEPRECATED 된다네요.
  • 채택 0
반대입니다.
남친: 정규식
여친: 변경자

회원님들이 정규식을 좋아하지 않은가 봅니다.
물론 문제가 약간 어려운 게 없지 않은데 좀 더 접근하기 쉽게 할 수 있는 방법을 고민해 봐야겠습니다.
  • 채택 0
전체 1,354 |RSS
퀴즈게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT