g5_path()에서

g5_path()에서

QA

g5_path()에서

본문

$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']);

위의 라인에서 두번째 파라미터인 '$1'의 의미가 뭐죠?
$1라는 변수가 설정된 것도 아닌것 같은데 말입니다.

이 질문에 댓글 쓰기 :

답변 1

첫번째 괄호 안의 문자들을 가르킵니다.
예를 들어 
$a = "/~abc/de";
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $a);
echo $tilde_remove;

결과값은 /de
맨 뒷부분에 나오는 " /이하" 문자열을 구하는 것이겠죠.

아, subpattern에 match 된 문자열이 $1로 들어가는 군요.
네이비칼라님 답변보고 PHP manual에서 preg_replace() 를 읽어봤는데, 설명이 조금 복잡하네요.
전체 pattern match가 $0으로 들어가고, subpattern match는 순서대로 $1, $2... 이렇게 들어간다고 생각하면 맞나요?

답변을 작성하시기 전에 로그인 해주세요.
전체 4

회원로그인

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