$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']);
위의 라인에서 두번째 파라미터인 '$1'의 의미가 뭐죠?
$1라는 변수가 설정된 것도 아닌것 같은데 말입니다.
답변 1개 / 댓글 2개
채택된 답변
+20 포인트
2014-06-06 (금) 09:04:18
첫번째 괄호 안의 문자들을 가르킵니다.
예를 들어
$a = "/~abc/de";
$tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $a);
echo $tilde_remove;
결과값은 /de
맨 뒷부분에 나오는 " /이하" 문자열을 구하는 것이겠죠.
답변에 대한 댓글 2개
PASKRAN
2014-06-07 (토) 03:35:35
답변을 작성하려면 로그인이 필요합니다.
네이비칼라님 답변보고 PHP manual에서 preg_replace() 를 읽어봤는데, 설명이 조금 복잡하네요.
전체 pattern match가 $0으로 들어가고, subpattern match는 순서대로 $1, $2... 이렇게 들어간다고 생각하면 맞나요?