XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.

core/classes/validator/Validator.class.php 의 validate() 함수를 분석하고 있습니다.

       $func_body = preg_replace('/\\$(\w+)/', '$c[\'$1\']', $cond['test']);

이런 코드가 있는데요.. 여기서 \\$(\w+)를 어떻게 해석해야 할지 모르겠습니다..

 

\\는 backslash 문자 그대로 사용하라는 뜻이고 $는 string 끝에 존재하는 경우에 matching 시키라는 것으로 알고 있는데요.. 그러면 \ 뒤에는 아무것도 오면 안되는데 (\w+)가 있네요..

고수님들 지식나눔 부탁드립니다ㅠ

  • profile
    기진곰 2016.09.27 12:28:52

    \\는 정규식에 전달되지 않습니다. PHP에서 문자열을 정의하는 과정에서 하나가 먹혀 버려서 실제로 정규식에서는 \ 하나만 전달되지요. 따라서 그 뒤에 나오는 $를 escape하게 됩니다. 즉, 여기서 $는 끝이라는 뜻이 아니라 $라는 문자를 그대로 매칭합니다.

     

    (PHP에서 쿼리문을 작성하여 SQL에서 실행할 때는 양쪽에서 \를 사이좋게 나눠먹기 때문에 \\\\ 이렇게 많이 써야 하는 경우도 있습니다 ㅠ)

     

    결국 $ 뒤에 "word"에 해당하는 문자 1개 이상이 붙은 것을 매칭하게 되지요.

    예: $var, $oDocument, $document_list 등등...

  • ?
    갸라 2016.09.27 13:16:35
    아... 그렇군요. 항상 감사합니다!ㅠ

List of Articles
번호 분류 제목 날짜
공지 질문/답변 답변을 확실히 받기위한 질문자 지침서 20 2015.12.31
2905 질문/답변 제목에 나오는 " 요거 없에는 방법 있을가요...? 11 2016.09.28
2904 질문/답변 도메인에 대해서 갑자기 궁금합니다 5 2016.09.28
2903 질문/답변 comment 모듈의 발행대기/발행완료 기능? 9 2016.09.28
2902 질문/답변 관리자페이지에서 SSL 선택사용 그거 선택하는거요! 5 2016.09.28
2901 질문/답변 제이쿼리에 관하여 문의드립니다. 어떻게 해도 않되네요 ㅜ.ㅠ; 6 file 2016.09.28
2900 질문/답변 모바일 회원정보 문의 3 file 2016.09.28
2899 질문/답변 여기서 속도가 어떤건가요? 3 file 2016.09.28
2898 질문/답변 여러 파일이 있는 폴더에서 특정 키워드 찾는 프로그램이 있을까요? 7 2016.09.28
2897 질문/답변 폰트질문드립니다. 2 2016.09.28
2896 질문/답변 혹시 회원가입을 해야 특정 게시글 부분이 보인다는거 있나요? 3 2016.09.28
2895 질문/답변 VPS 추천 부탁드립니다~ 10 2016.09.27
2894 질문/답변 슈퍼캐시 질문 좀 드려요 ~ 12 2016.09.27
2893 질문/답변 mod_pagespeed ( dns 질문 ) 9 2016.09.27
2892 질문/답변 메일 발송시 받는 사람 이름 표기 부분이 궁금합니다. 2 file 2016.09.27
2891 질문/답변 CentOS(리눅스)도... 윈도우즈처럼 시스템 복원 같은 게 있나요? 8 2016.09.27
2890 질문/답변 새글 메뉴 모듈 select 형식 메뉴에는 적용이 불가한가요? 1 2016.09.27
2889 질문/답변 mod_pagespeed 사용시 GIF 파일은 webp로 변환이 안되나요? 16 2016.09.27
2888 질문/답변 슈퍼캐시 사용하면서 궁금한 점 질문드립니다. 3 file 2016.09.27
2887 질문/답변 XE템플릿에서 php 문법 사용이 안되는데요. 6 2016.09.27
» 질문/답변 core 분석중, 해석이 안되는 정규표현식에 대해 질문드립니다. 2 2016.09.27
Board Pagination Prev 1 ... 20 21 22 23 24 25 26 27 28 29 ... 170 Next
/ 170
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...