register_form.php 에서 preg_replace 채택완료

5년 전 조회 1,818

register_form.php 파일에 다음과 같은 코드가 있습니다.

Copy
$agree  = preg_replace('#[^0-9]#', '', $_POST['agree']);

$agree2 = preg_replace('#[^0-9]#', '', $_POST['agree2']);

 

register.skin.php 에서 회원가입에 대한 약관을 동의하고 form 태그를 통해 전송하고

$_POST['agree'], $_POST['agree2'] 를 통해 정보를 받습니다.

 

1. agree, agree2 는 value="1" 입니다.

왜 preg_replace 를 사용해 #[^0-9]# 부분을 ""로 치환하는 건가요?

#[^0-9]# 는 숫자를 제외한 나머지를 치환한다는 의미인데

어차피 value에는 1만 들어있어서 다른 문자 존재할 수 없지 않나요?

 

2. preg_replace 에 패턴에는 플래그를 안써도 되나요?

regexr.com 에서 test 해봤는데 g플래그를 써야 숫자 이외에 나머지 모두를 선택하는데

g플래그를 안쓰면 첫번째만 선택이 돼요.

preg_replace 에서는 g 플래그를 안써도 되는건가요?

답변 1개

가장 좋은 방법은 PHP에서 각각의 변수를 찍어 보세요.  이것보다 정확한 것은 없습니다.

 

https://sir.kr/g5_tip/13330

 

https://sir.kr/g5_plugin/7938

 

제일 좋은 것은 xdebug라고 합니다.

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고