채택완료

bbs/new.php 중 정규식문의 드립니다.

2018-09-14 (금) 12:22:41 2,125

bbs/new.php파일에서 아래 문장이 나오는데요

$mb_id = substr(preg_replace('#[^a-z0-9_]#i', '', $mb_id), 0, 20);

$mb_id를 정규식으로 검토하여 공백으로 바꾼후 20자리 까지 아이디를 출력하라는 의미 같은데요

여기서 #[^a-z0-9_]#i 이부분이 궁금합니다. 어떤경우에 공백으로 바꾸는지요?

고수님들의 조언을 구합니다 감사합니다.

|

답변 2개

채택된 답변
+20 포인트

문자열의 시작부분을 찾는 ^ 다음에 소문자(a-z)나 숫자(0-9), 언더스코어(_)가 아닌 문자를 찾아서

공백으로 바꾸는것 같습니다.

3554402693_1536895900.5271.png

이부분은 회원가입시 영문, 숫자, 언더바 만 가능하도록 되어있기 때문에 실제론

아이디가 영문,숫자,언더바 조합일텐데

최신글 에서는 아이디로 검색이 가능하다보니 그럴경우 특수문자나

기타 다른 공백이나 등등이 들어갈 수 있으므로 저렇게 한번 걸러주는듯 합니다.

감사합니다.^^

답변을 작성하려면 로그인이 필요합니다.