php 8 정규식 문의드립니다. 채택완료
회원가입을 받지 않으려고 할 때
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번째 인자를 넣거나 빼도 결과과 같은 것을 보면 크게 관계가 있지 않는 것 같습니다.
정규식을 더 공부해봐야겠습니다.