정규식 문자열 치환 질문있어요

정규식 문자열 치환 질문있어요

QA

정규식 문자열 치환 질문있어요

본문

o1o-123o-0567o 이라는 문자가 있다고 가정할 때

첫번째 '-' 과 두번째 '-' 사이의 문자열을 다른 문자열로 치환하려면 어떻게 해야하나요?

이 질문에 댓글 쓰기 :

답변 1

for beginners

o1o-123o-056o

^o1o-123o-056o$ ... ^: 시작, $: 끝

^\d+-\d+-\d+$ ... \d 또는 [0-9]: 숫자, +: 한 글자 이상

^(\d+-)(\d+)(-\d+)$ ... o1o-, 123o, -056o매칭

$hp = 'o1o-123o-056o;
echo preg_replace_callback('/^(\d+-)(\d+)(-\d+)$/', function ($m) { return $m[1].str_repeat('*', strlen($m[2])).$m[3]; }, $hp);

'o1o-', '0567o' 길이(4)만큼 * 반복, '-056o'
010-****-0567o

이 정도만으로도 이와 비슷한 유형은 원하는 부분의 치환을 자유롭게 할 수 있습니다.

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

회원로그인

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