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

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

QA

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

답변 1

본문

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 62
© SIRSOFT
현재 페이지 제일 처음으로