preg_replace 와 정규표현식 질문 채택완료
그누보드이해하기
4년 전
조회 3,305
이 코드는 login_check.php 파일에서 차단된 아이디인가 확인하는 코드중 일부입니다.
</p>
<p>$date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1년 \\2월 \\3일", $mb['mb_intercept_date']);</p>
<p>
preg_replace는 문자를 치환하는 함수이고,
preg_replace("/찾을 문자/", "변경할 문자", "해당하는 문자열");
정규표현식의 내용은 (0~9까지 숫자 4개)(0~9까지 숫자 2개)(0~9까지 숫자 2개) 라고 해석했는데
변경할 문자로 \\1년 \\2월 \\3일 ,이부분이 이해가 안가서 질문드립니다.
2020년12월01일 과 같은형식으로 바꿔줄거라는 거 같은데
\\는 왜 들어가는지 년 앞에 숫자는 왜 들어가는지 잘 모르겠습니다.
변경할 문자에 들어가는 내용좀 알려주세요.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
정규식 변환 규칙입니다
([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})일" 이런식으로 변경한다 라고 해석하시면됩니다
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
그누보드이해하기
4년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
(괄호)로 묶여있는 것에 번호를 붙이는 개념인가보네요.