preg_replace 와 정규표현식 질문

preg_replace 와 정규표현식 질문

QA

preg_replace 와 정규표현식 질문

본문

이 코드는 login_check.php 파일에서 차단된 아이디인가 확인하는 코드중 일부입니다.


$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']);

preg_replace는 문자를 치환하는 함수이고,

preg_replace("/찾을 문자/", "변경할 문자", "해당하는 문자열");

 

정규표현식의 내용은 (0~9까지 숫자 4개)(0~9까지 숫자 2개)(0~9까지 숫자 2개) 라고 해석했는데

변경할 문자로 \\1년 \\2월 \\3일 ,이부분이 이해가 안가서 질문드립니다.

 

2020년12월01일 과 같은형식으로 바꿔줄거라는 거 같은데

\\는 왜 들어가는지 년 앞에 숫자는 왜 들어가는지 잘 모르겠습니다.

 

변경할 문자에 들어가는 내용좀 알려주세요.

이 질문에 댓글 쓰기 :

답변 1

정규식 변환 규칙입니다

 

([0-9]{4})([0-9]{2})([0-9]{2}) 여기서 순서대로 ([0-9]{4}) = \\1 , ([0-9]{2}) = \\2 , ([0-9]{2}) = \\3 으로 값을 변환할수있다고 생각하시면됩니다

 

즉 해당 찾을문자를 정규식 규칙으로 찾아서 "([0-9]{4})년 ([0-9]{2})월 ([0-9]{2})일" 이런식으로 변경한다 라고 해석하시면됩니다

답변을 작성하시기 전에 로그인 해주세요.
전체 59,483
QA 내용 검색

회원로그인

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