g5_path()에서

g5_path()에서

QA

g5_path()에서

답변 1

본문

$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
© SIRSOFT
현재 페이지 제일 처음으로