php 8 정규식 문의드립니다. 채택완료
무와보
4년 전
조회 4,500
회원가입을 받지 않으려고 할 때
https://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=103
에서 설명하는 대로
</p>
<p>if (preg_match("/.*\/bbs\/(register|register_form|register_form_update)\.php?/", $_SERVER['REQUEST_URI']) && $w =='') alert('신규 회원 가입은 받지 않습니다.', G5_URL);</p>
<p>
를 작성하여 사용하면 php 7.* 대에서는 잘 작동하는데
php 8 에서는 500에러를 보여주더군요.
정규식의 문제인지 문법의 문제인지 모르겠습니다.
이럴 때에는 어떻게 해결해야 할까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
4년 전
https://www.php.net/manual/en/function.preg-match.php
를 보면 최소 3개가 들어가야 되는것 같습니다.
</p>
<p>preg_match('/(a)(b)*(c)/', 'ac', $matches);</p>
<p>
아마도, PHP7에서는 3번째가 없어도 동작이 되었지만, PHP8에서는 엄격한 룰 적용으로 세번째 변수가 없어서 오동작하는 것이 아닐지..
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
무와보
4년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
3번째 인자를 넣거나 빼도 결과과 같은 것을 보면 크게 관계가 있지 않는 것 같습니다.
정규식을 더 공부해봐야겠습니다.